双分区可启动USB

双分区可启动USB

看完之后关于 2 分区实时 USB 驱动器的 AskUbuntu 问题有关对可启动 USB 驱动器进行分区的 StackExchange 问题Ubuntu 论坛上有带分区的可启动 USB 驱动器以及我过去两天花费的许多其他资源,但完全没能创造出我想要的东西。

我刚买了一个 32 GB 的闪存驱动器。我希望将此闪存驱动器变成一个多功能工具,用于修复我可能遇到的任何计算机问题,从打开 Word 文档到恢复丢失的密码。我的计划是在驱动器上放置两个分区:

  • 一个 28 GB 的数据分区,可容纳多个可移植程序(Open Office、GIMP、十六进制编辑器等)
  • 安装了 Kali Linux 的 4 GB 分区

我尝试使用 fdisk、gdisk(GPT fdisk)和 Mac OS X 的内置分区工具来创建这些分区。我还尝试了各种块分配、前部可用空间、EFI 分区大小等的组合。我尝试过只使用 MBR、混合 MBR+GPT 和只使用 GPT。

无论我做什么,结果都是一样的:所有计算机(Mac、Windows、Linux)都可以看到 28 GB 分区,非 Windows 计算机(Mac、Linux)可以看到 4 GB 分区,但 BIOS 看不到任何分区。我根本无法从它启动。

要安装 Kali Linux,我使用以下命令和从其网站下载的 ISO:

sudo dd if=~/Downloads/kali-linux-2.0-i386.iso of=/dev/disk2s3 bs=1m

我也尝试将.iso文件更改.imgUbuntu 的将 Linux 安装到闪存驱动器的指南,但使用这个却没有效果。

我还尝试了 SuperUser 上的一些指南,包括本指南介绍了如何使用第二个分区安装 Knoppix这会将 Knoppix 放在第一个分区上,因此驱动器将无法在 Windows 下工作。

我确信我遗漏了一些简单的东西,但我却绞尽脑汁想弄清楚它是什么:)为什么 BIOS 看不到我的闪存驱动器?

更新

改日,再试一次。

在查看了论坛和.iso文件后,我终于把两者联系起来,意识到这个.iso文件已包含MBR。将写入.iso分区是多余的。然而,这引起了一个难题:如何将所有.iso 除了它的 MBR?

我有一个有趣的想法并尝试了一下:

  1. 我撕碎了闪存驱动器,撕掉了 MBR、分区等
  2. 我复制了.iso上面的内容(使用dd),因此它就像一个普通的 4 GB Kali Linux 驱动器一样运行
  3. 我曾经fdisk编辑过 MBR...但是我没有移动数据,而是列出了分区失灵第一个分区从扇区 500000 到 600000(不是实际的扇区数,只是示例),第二个分区从 400000 到 500000,第三个分区从 0 到 400000(Kali Linux)
  4. 我将第三个分区标记为可启动

现在,当我重新启动插入闪存驱动器的 Mac 时(按住 Option),我看到了驱动器!虽然出于某种原因,它显示“Windows”而不是“通用 USB”或其他什么……很奇怪。但我没有质疑它。我点击了驱动器,兴奋得发抖!……直到这样:

isolinux.bin missing or corrupt
No bootable device -- insert boot disk and press any key

如此接近,却又如此遥远 :(

答案1

我也尝试了同样的事情。我偶然发现了tlroche 的教程这让我开始思考我的做法是否正确。

我从教程中了解到,我需要在磁盘上.iso拥有自己的单独 MBR。安装在那里的 GRUB 将列出我在该磁盘上的文件。它不是用来dd安装那些.iso文件的。它只是复制.iso文件本身。

不过,选择它们并不仅仅是启动它们。它会循环挂载它们。例如,对于主文件夹中的 ISO,请尝试

# mkdir media/my-looped-iso-dir
# mount -o loop ~/iso-to-mount.iso /media/my-looped-iso-dir

.iso然后,您可以检查目录中的内容/media/my-looped-iso-dir。因此,在 GRUB2 挂载 live 后,.iso它会查找启动所需的文件 - 即可启动的 Linux 内核 ( vmlinuz) 和 RAMdisk 映像 ( initrd.*)。这些需要在文件中指定grub.cfg,您必须自己制作(并不像听起来那么难 - 链接中的示例)。

实际上,我收回刚才的话。设置 grub.cfg 将是最困难的部分。但链接中的示例提供了一个很好的起点。没有太多需要添加的内容,只需自定义要.iso启动的菜单项即可。

除此之外,您可以将任何内容添加到剩余空间(分区或不分区 - 由您决定)。.deb如果我只使用基于 debian 的发行版,那么软件包可能是我的首选 - 我正在考虑使用像这样的可启动 USB,其中包含 Kali、Tails 和 BunsenLabs(以前称为 Crunchbang)。但是二进制文件、完整源代码,等等。尽情发挥吧。(顺便说一句,拥有一个填充的 keypassx 数据库并不是一个坏主意)

这也很好,因为当我需要升级.iso文件时,我只需取出旧文件,然后放入新文件。更新后,grub.cfg menuentry您就可以开始了!

编辑:我忘了说了,你要对 USB 驱动器进行分区,并在其中创建一个文件系统。该文件系统将要必须进行/boot设置才能安装 grub - # grub2-install(同样,示例见链接)。确保它被标记为可启动,这样就没问题了。

再说一遍,这是全部在链接中...所以只是...你知道...阅读链接!

相关内容