分页: 1 / 1

如何制作一个既支持uefi又支持老式bios启动的移动硬盘

发表于 : 2018-09-03 13:58
百草谷居士
想使用移动硬盘或者优盘制作一个便携式的ubuntu系统,希望能支持传统的bios启动,也能支持uefi启动。

Re: 如何制作一个既支持uefi又支持老式bios启动的移动硬盘

发表于 : 2018-09-03 15:13
astolia
这事我干过。弄了一个包含winpe和ubuntu18.04的u盘,两个都支持uefi和bios启动。另外还留了个分区当成一般的u盘空间用。

时间过去有点久了,只能说个大概流程,可能会有遗漏的地方

先是用wepe的制作工具 http://www.wepe.com.cn/download.html,把u盘弄成同时支持uefi和bios的winpe启动盘。我选的是双分区方案,自己再将非EFI分区再分成了两个
然后把efi分区下EFI/BOOT/bootx64.efi复制一份为bootx64_ms.efi
再在uefi模式下给u盘安装ubuntu。安装完后去sudo apt install grub-pc-bin,让grub支持bios启动
然后修改/etc/grub.d/40_custom,增加wepe的项目,里面1234-5678是efi分区的序列号,根据自己的情况改

代码: 全选

#!/bin/sh
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.

set timeout=10

menuentry "WePE" {
	insmod usbms
	insmod part_gpt
	insmod part_msdos
	insmod fat
	insmod search_fs_uuid
	insmod ntldr
	search --no-floppy --fs-uuid --set=root 1234-5678
	ntldr ($root)/WEPE/WEPE64
}

menuentry "WePE UEFI" {
	insmod usbms
	insmod part_gpt
	insmod part_msdos
	insmod fat
	insmod search_fs_uuid
	insmod chain
	search --no-floppy --fs-uuid --set=root 1234-5678
	chainloader ($root)/EFI/BOOT/bootx64_ms.efi
}
最后update-grub更新一下

Re: 如何制作一个既支持uefi又支持老式bios启动的移动硬盘

发表于 : 2018-09-04 9:16
百草谷居士
好,有时间我折腾下试试

Re: 如何制作一个既支持uefi又支持老式bios启动的移动硬盘

发表于 : 2018-09-04 15:53
百草谷居士
能不能在ubuntu下直接把移动硬盘搞成能支持传统的bios启动,也能支持uefi启动的?

Re: 如何制作一个既支持uefi又支持老式bios启动的移动硬盘

发表于 : 2018-09-04 16:25
astolia
关键在于用mbr分区格式,别用gpt。然后在uefi启动模式下按正常方法安装系统就是了。装好了再给grub增加bios模式支持。
如果不需要更新系统,直接dd if=xxx.iso of=/dev/sdx应该也行

Re: 如何制作一个既支持uefi又支持老式bios启动的移动硬盘

发表于 : 2018-09-05 8:47
百草谷居士
mbr分区格式能创建efi分区吗?

Re: 如何制作一个既支持uefi又支持老式bios启动的移动硬盘

发表于 : 2018-09-05 10:24
astolia
efi分区就是一个带EFI标记的fat32分区而已,跟分区表格式没关系。uefi一般会有对mbr的兼容支持

Re: 如何制作一个既支持uefi又支持老式bios启动的移动硬盘

发表于 : 2018-10-01 23:10
男菜鸟
mark