![如何在同一个 USB 驱动器上多重启动多个 Linux 发行版和 Windows?](https://linux22.com/image/121374/%E5%A6%82%E4%BD%95%E5%9C%A8%E5%90%8C%E4%B8%80%E4%B8%AA%20USB%20%E9%A9%B1%E5%8A%A8%E5%99%A8%E4%B8%8A%E5%A4%9A%E9%87%8D%E5%90%AF%E5%8A%A8%E5%A4%9A%E4%B8%AA%20Linux%20%E5%8F%91%E8%A1%8C%E7%89%88%E5%92%8C%20Windows%EF%BC%9F.png)
我正在制作一个“工具包”,以便我需要时可以使用,其中包含许多 Linux 发行版、Windows 10 和 Hiren 的 BootCD。
我知道我可以制作 Linux 部分多重启动USB但我不知道如何在同一驱动器中添加 Windows 内容。感谢您的帮助。
这也是我第一次在这里发帖,如果有更好的地方,请通知我。
答案1
首先,最重要的一点:你能行的。
Windows 可配置性是灾难性的,因此最好从 Windows 随身碟开始,并使用辅助 Linux 分区和更智能的引导加载程序对其进行扩展。
因此,所需的步骤:
- 从任何地方获取您的 Windows 启动盘。在细节上,例如https://superuser.com可以成为你的朋友。
- 非常重要的是,Win 应该位于 USB 磁盘的第一个分区。 W$ 具有“不错”的功能,分区的随身碟只能看到其上的第一个分区,而不能看到更多分区。如果没有重大的 w$ 内核黑客攻击,就没有解决办法,这是不可能的。
- 所以你有一个双分区U盘,第一个分区应该是win,第二个分区是Linux。
BIOS 会将 U 盘视为 0x80 硬盘。但如果你插入你的开发机器,它将是一些备用硬盘(最有可能的是,/dev/sdb
)。引导加载程序安装可能会遇到一些问题:
利洛
在 LILO 中,您可以预定义磁盘,在 BIOS 磁盘编号下方,它们将可见,如下所示lilo.conf
:
disk = /dev/sda
#bios = 0x80
inaccessible
disk = /dev/sdb
bios = 0x81
#inaccessible
Lilo 的缺点是你必须更好地理解它的确切工作原理,以避免神秘的“不起作用”问题。
Lilo 与一般的 BIOS 工具一样,看不到分区,它只读取扇区映射。该地图可以位于随身碟上的任何位置。
蛴螬
据我所知,grub 怀疑引导安装驱动器将是 0x80,这很清楚。然而,我的经验是,在 grub 的情况下,出现类似“不起作用”的神秘问题的可能性要高得多,尽管理论上它可以读入引导设备上的文件系统。
update-grub
该解决方案需要像今天的脚本那样在更深层次上对 grub 进行深入的重新配置grub-install
。为许多神秘问题做好准备。
系统Linux/IsoLinux
Syslinux 需要 FAT 或 ISO 文件系统来启动,而对于最近安装的 Windows(需要 NTFS)来说,它们都不可能,因此它可能会失败,因为它与 Windows 想要从第一个分区启动的要求相矛盾。您也许能够在非常不常见的配置中使用 syslinux(3 个分区:1:windows NTFS、2:linux ext4、3:boot fat)。
我个人会这样解决这样的任务:
- 我会从某个地方得到一个仅限胜利的笔驱动器图像
- 我会得到一张 ubuntu live CD
- 我会将两个分区合并,win 会进入第一个分区,Linux 会进入第二个分区,
- 我会扔掉 ubuntu live CD 的 syslinux,然后用 LILO 启动它(syslinux 配置包含信息,你应该如何从随身碟启动 Ubuntu)。
- 最后,我会说服我的老板/客户接受随身碟将是只读的。如果它不起作用或者我想要一个完美的解决方案,那么我会克隆一个最小的 ubuntu 系统。顺便说一句,从随身碟上读写可用的 Windows 系统可能是不可能的,只有安装/实时/救援套件存在。使用 Linux,您可以做到这一点,但这需要额外的工作。或者,我建议尝试一下 knoppix,而不是 ubuntu livecd。
答案2
无限的 Windows ISO、linux ISO、VHD、WIM、.IMA、linux+persistence、安全启动 UEFI 等。
可以使用 Linux 或 Windows 来准备 USB 记忆棒。