Live USB,在同一设备上安装第二个分区

Live USB,在同一设备上安装第二个分区

如何在安装了 Live Ubuntu 的同一 USB 磁盘上挂载第二个分区?

我正在使用 dd 创建一个实时 USB。

我已经使用 fdisk 创建了第二个 VFAT 分区,并使用 mkfs.ext2 对其进行了格式化。

当我尝试运行“ sudo mount /dev/sda2 /mnt”时出现错误:/dev/sda2 already mounted or /mnt is busy.

这可能是因为 /dev/sda(整个驱动器,而不是分区)已经以类型 iso9660 安装在 /cdrom 上。

我该如何克服这个问题,我需要能够永久地存储在第二个分区上一些文件。

答案1

问题是 /dev/sda 包含 /dev/sda2。如果两者都应作为读写文件系统安装,这将是一个严重的障碍。但在您的情况下,/dev/sda(也在 /dev/sda1 中)中的 ISO 9660 是只读的。因此不会发生文件系统冲突。

通常,挂载两个文件系统的正确方法是卸载 /dev/sda,然后挂载 /dev/sda1。它与 /dev/sda2 不重叠。因此 mount(8) 不会出现任何问题

但是,如果正在运行的系统依赖于 ISO 9660 文件系统中的文件,则可能无法将其卸载。在这种情况下,仍存在使用循环设备(如 /dev/loop0)的后门。此类设备基于数据文件或块设备文件。它充当块设备。有关详细信息,请参阅 man losetup(8)。

mount(8) 提供了方便的选项“loop”。因此,尽管 /dev/sda 已经挂载,但这个命令仍然有效:

mount -o loop /dev/sda2 /your/mount/directory

幸运的是,mount(8) 太笨了,无法识别重叠,尽管它将分区设备列为已安装,而不是循环设备。


/dev/sdc on /mnt/iso type iso9660 (ro,relatime)
/dev/sdc2 on /mnt/fat type vfat (rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=utf8,shortname=mixed,errors=remount-ro)

所以这个技巧将来可能会不再起作用... :((但也许它也足够聪明,能够认识到重叠是无害的。)

答案2

我无法成功修改使用 Startup Disk Creator 或 Rufus 创建的 ISO 9660 驱动器上的分区。

但是如果你使用韓國为了制作驱动器,您将获得一个小型的 FAT32 启动分区、一个 ISO 9660 操作系统分区、一个 ext4 casper-rw 持久分区和一个 NTFS 数据分区(如果需要)。

然后,如果您不需要持久性,则可以删除 casper-rw 分区,然后扩展或重新格式化 NTFS 分区以满足您的需要。

相关内容