多分区 USB 记忆棒

多分区 USB 记忆棒

在我作为“修理你的电脑的人”的自由职业中,我有一个非常方便的工具,一个带有 Ubuntu LiveCD 的可启动 USB 记忆棒,它允许我在已知的工作环境中进行恢复和调查。

现在,我想重新格式化这个 USB 棒,并重新安装 Casper-RW 持久性。我以前用 FAT 格式的 USB 棒做过几次这样的事。这太可怕了。USB 驱动器不断损坏,因为有人不小心拔掉了 USB 棒,电脑没有正常关闭,等等。

现在我想创建一个多分区 USB 棒,这样我就可以将 Ubuntu 放在扩展分区上,但仍然能够通过使用辅助 FAT 分区在其中存储一些 Windows 内容。

但是我从某处看到,Windows 只会检查 USB 驱动器上的第一个分区,这导致第一个可启动 Linux 分区出现问题。

这在某种程度上有可能吗?

编辑

也许问题不明确。问题是我在某处读到 Windows 只能识别 USB 棒上的第一个分区。但我想要两个分区,一个 ext 分区和一个 FAT 分区。到目前为止没有问题,但为了可启动,ext 分区必须是第一个!

答案1

你可以非常轻松地做你想做的事。

假设只有两个分区设置,您必须将 FAT 分区作为您的第一个主分区(它必须在分区表和磁盘上处于相同的顺序,通常情况如此,但如果不这样做,Windows 中就会发生奇怪的事情)。

在您的 EXT 分区上安装 Ubuntu。

在 MBR 上按如下方式安装 grub(我假设您已经有一台 Linux 机器和在其上运行的 grub2,并且您的 pendrive 被检测为 /dev/sdb):

mount -t ext2 /dev/sdb2 /mnt
grub-install  --no-floppy --root-directory=/mnt/ /dev/sdb

这将在 mbr 上设置 grub 并在您的 ubuntu 分区上安装所有必要的文件。接下来,您需要使用菜单项设置 grub.cfg,如下所示(阅读 grub2 文档或 Linux PC 上的 grub.cfg 以构建完整的 grub.cfg):

menuentry 'Ubuntu, con Linux 3.2.0-39-generic-pae' --class ubuntu --class gnu-linux --class gnu --class os {
        insmod gzio
        insmod part_msdos
        insmod ext2
        set root='(hd1,msdos2)'
        search --no-floppy --fs-uuid --set=root UBUNTU_PARTITION_UUID
        linux   /boot/vmlinuz-3.2.0-39-generic-pae root=UBUNTU_PARTITION_UUID ro   quiet nosplash
        initrd  /boot/initrd.img-3.2.0-39-generic-pae
}

您需要您的分区 UUID 才能在具有多个磁盘的计算机上运行:

# blkid /dev/sdb2
/dev/sdb2: LABEL="GPART" UUID="75cdfe28-0ad8-4f0a-8c1d-9af6b2a5ba88" TYPE="ext2"

我会让你自己去发现如何为 memtest86+ 添加第二个条目,这对于这种救援闪存驱动器来说是完美的。

答案2

至少目前市场上的 USB 驱动器不存在此类问题。

在大多数情况下,USB 棒就像一个微型硬盘,因此它包含分区表,就像任何硬盘一样。您可以像任何硬盘一样对其进行重新分区。

如果您想在 Windows 下重新分区,请尝试右键单击“我的电脑”,选择“管理”,然后转到“磁盘管理器”并在此处找到您的 USB 记忆棒。

这里会显示两个分区 - FAT 分区和“未知”分区 - ext* 分区。您也可以从这里重新分区。

此方法不允许您调整分区大小和创建 ext* 分区。对于这种情况,请使用 Linux。

答案3

Windows 不允许你对可移动驱动器进行这样的分区,但它很乐意读取在 Linux 下以这种方式分区的驱动器。这已经是很久以前的事了,但我以前做过,而且我很确定除了让 Linux 进行分区之外,没有什么麻烦。

编辑(新信息)

我的混合磁盘无法启动,所以我无法帮助你,但是 Windows 分区是前半部分,所以我可以解释它尽管存在其他评论中提到的“仅有第一个分区”问题,但仍能正常工作。

答案4

为了使磁盘在 Linux 下可启动,您需要使 ext 分区可启动。您可以使用 ubuntu 的磁盘管理工具轻松完成此操作。在我的例子中,windows 分区是磁盘开头的 ntfs 分区,windows 8 能够毫无问题地检测和使用此分区。

相关内容