对于EFI和BIOS grub,我将给出一个额外的观点/动机。
USB记忆棒从Grub2启动Live SystemRescueCD.iso循环。
为什么?简单的答案:它将在很多PC上启动,有些具有UEFI,有些只有32位旧的BIOS,等等。
真正复杂的动机:如果可能,请使用高级硬件(UEFI)。
实际生活使用示例:
- 具有四个分区的USB记忆棒(格式化为GPT模式)
- NTFS上的第一个分区(可以从Windows 7及更高版本看到),其余大小为USB记忆棒
- Grub2和SystemRescueCD.iso文件的第二个分区至少具有1GiB(最好是2GiB,以便您可以同时携带两个版本的SystemRescueCD.iso,只是为了在替换旧版本之前测试新版本),我通常使用Ext4文件系统为了它
- EFI(Windows称为ESP)的第三个分区,格式为Fat32,至少具有512MiB(我见过一些PC,如果使用较少,它们不会显示USB记忆棒作为可启动媒体)
- BIOS_Grub的第四个分区(无格式,但在创建时清除)
一件重要的事情:我看到一个8GiB LG USB stric(我自己拥有),如果分区未与圆柱对齐,则拒绝在物理UEFI PC引导中列出,但在其他UEFI PC以及带有UEFI引导的VirtualBOX上可见模式已激活...如果将其与MiB对齐时进行分区,则它确实使用了所有空间,末端没有接近1MiB的未分区空间,但是当与圆柱体对齐时,未使用最后一个不完整的MiB ...如果我考虑到这一点进行MiB分区(换句话说,我做一个手动的圆柱对齐),但正如我所说的,它仍然是圆柱对齐的(我是手动完成,而不是让分区工具为您完成)。
如何获得如此出色的USB恢复棒(它有两个技巧):
- 将分区与圆柱对齐(兼容性更好,仅与MiB对齐)
- 在同一个grub分区上执行grub-install --target = i386-pc,然后再执行另一个grub-install --target = x86_64-efi,因此两种引导模式仅使用一个grub.cfg
开机方式:
- a)从旧的BIOS引导,将加载MBR,然后从BIOS_grub分区的grub的Stage2,然后从Grub2分区的core.img
- b)兼容UEFI的启动形式,将从ESP分区加载.efi文件
- 读取grub.cfg(如果grub2分区上存在)
- 然后显示grub2菜单
- 然后我选择从SystemRescueCD.iso循环启动(带有dochace参数),我在grub.cfg上设置了两个选项,一个设置为32Bits,一个设置为64Bits(我实际上有四个选项,因为我在两个dostartx参数上设置了直接在GUI上启动)。
- 引导后,我可以弹出USB记忆棒(由于使用了此类docache,整个Live Linux都位于ramdrive中),无需键入任何命令,没有安装pendrive(再次感谢docache参数)。
我可以使用此摇杆以32位或64位(如果它们在处理器上具有扩展扩展名)引导旧PC(如果允许从USB引导),但是可以在BIOS模式下引导。
我还可以使用此摇杆以32位和64位引导新的PC(如果允许从USB引导),但是可以以UEFI模式引导(是的,它可以以UEFI模式引导,然后仅以32位引导Linux Live SystemRescueCD)模式以及64位模式)。
所以我拥有一个USB记忆棒恢复启动媒体,能够在所有现代或旧PC上启动(仅需要USB启动支持),无论32位还是64位,BIOS或UEFI等...我都可以选择我要运行32位或64位的内容。
另外,我已经在拒绝安装Windows 64位(旧的32位处理器)但可以运行64位Linux Live(因为该处理器上存在PAE功能)的PC上进行了测试。
旁注:NTFS这样的第一个分区用于保存可与Windows 7及更高版本共享的数据(XP不可见,因为它不支持GPT分区)...它必须是第一个分区,不需要在初始位置光盘的一部分,可以位于任何位置,但必须作为分区表上的第一个条目驻留,这是由可恨的Windows模式在可移动分区上安装分区引起的,它具有专门编程的代码,以避免访问第一个分区以外的内容,因此不能同时挂载其他主机。
Windows和USB分区的额外功能:如果在partitiong表上交换分区条目,换句话说,将要访问的分区放在表的第一个分区,则Windows将允许您访问它(如果可以理解它的格式,fat32和直接使用NTFS,带有特殊驱动程序的ext2等),但仅允许访问分区表第一个条目上的文件...有一个工具(称为BootICEx86.exe)可以在Windows上执行此类工作甚至不需要拔下USB记忆棒。
超级额外:还有一些笔式驱动器(我很幸运拥有一个索尼16GiB),可以用特殊工具(用lexar的工具来更换)进行手动更改,因此它们在Windows中看起来像USB HDD而不是USB记忆棒,更改之后,所有窗口将允许您删除,创建和管理其上的分区,也可以同时安装多个分区,每个分区都有自己的字母。
Linux用户不必担心,因为Linux将其视为可分区的块设备,并且没有像Windows一样实现用于阻止安装分区等的特殊代码。
哦,是的,这最后几段是写的,以防万一M $上有人读了它们,所以他们的脸掉下来了,我正试图(永远不会得到它,我知道这是一个迷失的对象)要他们删除Windows中的丑陋代码,以天然方式让用户在USB记忆棒上有分区。