dd 磁盘后的妙用

博客介绍了将映像文件与loop设备关联的操作,使用losetup命令,说明了各参数作用。假设关联的loop设备名为/dev/loop0,其分区为/dev/loop0pX。还给出了挂载分区到临时目录的操作,如将/dev/loopXp1挂载到/tmp/disk - 1。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

将映像文件与loop设备关联

 

losetup --partscan --find --show xxx.img

 

--partscan强制内核扫描新建loop设备的分区表;--find使用第一个未使用的loop设备;--show显示分配给映像文件的loop设备名。

 

假设与映像文件关联的loop设备名为/dev/loop0, /dev/loop0pX分别执行映像文件上的分区,X为从1起始的数字

 

mkdir /tmp/disk-1 mount -o ro,loop /dev/loopXp1 /tmp/disk-1

可以使用dd命令测试Linux系统中磁盘的传输速率。下面是示例命令: 1. 顺序读取测试 ```bash dd if=/dev/sda of=/dev/null bs=1M count=1000 ``` 这个命令会从/dev/sda设备中读取1000个块(每个块大小为1MB),并将其输出到/dev/null设备中。可以通过修改bs和count这两个参数来改变块的大小和数量。 2. 顺序写入测试 ```bash dd if=/dev/zero of=testfile bs=1M count=1000 ``` 这个命令会从/dev/zero设备中读取1000个块(每个块大小为1MB),并将其写入到testfile文件中。同样可以通过修改bs和count这两个参数来改变块的大小和数量。 3. 随机读取测试 ```bash dd if=/dev/sda of=/dev/null bs=4k count=10000 iflag=direct skip=$((RANDOM%1000)) ``` 这个命令会从/dev/sda设备中读取10000个块(每个块大小为4KB),并将其输出到/dev/null设备中。其中iflag=direct选项表示使用直接I/O模式,skip=$((RANDOM%1000))选项表示跳过随机的1000个块。同样可以通过修改bs和count这两个参数来改变块的大小和数量。 4. 随机写入测试 ```bash dd if=/dev/zero of=testfile bs=4k count=10000 oflag=direct seek=$((RANDOM%1000)) ``` 这个命令会从/dev/zero设备中读取10000个块(每个块大小为4KB),并将其写入到testfile文件中。其中oflag=direct选项表示使用直接I/O模式,seek=$((RANDOM%1000))选项表示从随机的1000个块处开始写入。同样可以通过修改bs和count这两个参数来改变块的大小和数量。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值