如何附加一个虚拟硬盘来占用/dev/sdb?

ret*_*n 0 3 hard-drive filesystems

我想插入一个虚拟硬盘驱动器(或任何东西)来占用系统块/dev/sdb,我怎么能在 Linux(Ubuntu 和 Debian)中做到这一点?

Law*_*ceC 6

创建一个您希望此虚拟硬盘驱动器大小的文件(以下内容生成 1Mx1024 或 1GByte 文件):

dd if=/dev/zero of=virtual_hard_drive.bin bs=1M count=1024

创建一个循环设备代替 /dev/sdb

mknod /dev/sdb b 7 500

不,如果您已经在/dev/sdb那里,这将不起作用。

在极不可能发生的情况下,您需要将 500 更改为另一个数字/dev/loop500

现在,将您的文件分配给这个循环设备

losetup /dev/sdb virtual_hard_drive.bin

所以现在你有了一个充当硬盘驱动器的文件,通过 Linux 的循环设备机制。在这一点上,您想用mke2fs /dev/sdb或 类似的方式对其进行格式化,然后以通常的方式安装它。

要使其在启动时工作,需要对启动时间脚本进行一些编辑,因为检查脚本本身fstab不会/dev/sdb在启动时成为循环设备。

如果你并不真的需要一个体积那里,你可以这样做ln -s /dev/sdb /dev/full,使/dev/sdb“点”的full(或zeronull或甚至dvdrom)虚拟设备。