參考:【2017.12.25】deepin安裝U盤制作,支持 BIOS+UEFI,deepin_Recovery+Win PE
2018.4.28 更新
使用configfile代替了chainloader,避免重新載入grub,并且大幅減少了代碼量
#########################
# 06_pc.cfg
# UEFI 模式啟動(dòng)
if [ 'efi' == $grub_platform ] ; then
menuentry "[b] (實(shí)驗(yàn)性) 正常啟動(dòng)" --hotkey=b{
configfile "${prefix}/Config/NormalBootList.cfg"
}
fi
#############################
# NormalBootList.cfg
set timeout=10
set default=0
search --file --no-floppy --set=root /efi/deepin/grub.cfg
search --file --no-floppy --set=root /efi/Microsoft/Boot/bootmgfw.efi
if [ -e /efi/deepin/grub.cfg ] ; then
menuentry "[g] 啟動(dòng) grub" --hotkey=g{
configfile ($root)/efi/deepin/grub.cfg
}
fi
if [ -e /efi/Microsoft/Boot/bootmgfw.efi ] ; then
menuentry "[w] 啟動(dòng) Windows" --hotkey=w{
chainloader ($root)/efi/Microsoft/Boot/bootmgfw.efi
boot
}
fi
2018.4.27 更新
我修改了一下grub的配置,使其支持UEFI下正常啟動(dòng)deepin/ubuntu/Windows系統(tǒng),原理是搜索EFI分區(qū),若找到grubx64.efi則引導(dǎo)grub,否則引導(dǎo)bootmgfw.efi
新版本下載地址:百度云 密碼: kze6
源碼如下:
if [ 'efi' == $grub_platform ] ; then
if [ 'x86_64' == $grub_cpu ] ; then
menuentry "[d] (實(shí)驗(yàn)性) 正常啟動(dòng)" --hotkey=d{
echo "正在鏈?zhǔn)絾?dòng),請(qǐng)等待...."
insmod part_gpt
insmod fat
set root=(hd1,1)
search --label --no-floppy --set=root EFI
search --file --no-floppy --set=root /EFI/ubuntu/grubx64.efi
search --file --no-floppy --set=root /EFI/Microsoft/Boot/bootmgfw.efi
#若存在深度安裝的grub則引導(dǎo)
if [ -e /EFI/deepin/grubx64.efi ]; then
chainloader (${root})/EFI/deepin/grubx64.efi
#否則,若存在Ubuntu安裝的grub則引導(dǎo)
elif [ -e /EFI/ubuntu/grubx64.efi ]; then
chainloader (${root})/EFI/ubuntu/grubx64.efi
#否則,若存在Windows則引導(dǎo)
elif [ -e /EFI/Microsoft/Boot/bootmgfw.efi ]; then
chainloader (${root})/EFI/Microsoft/Boot/bootmgfw.efi
else
echo "找不到主硬盤中的grub2,請(qǐng)拔下U盤,按Ctrl+Alt+Del重啟電腦!"
echo "Couln't find Grub2 in HDD, please remove the flash disk and press CTRL+ALT+DEL to reboot!"
fi
boot
}
else
menuentry "[d] (實(shí)驗(yàn)性) 正常啟動(dòng)" --hotkey=d{
echo "正在鏈?zhǔn)絾?dòng),請(qǐng)等待...."
insmod part_gpt
insmod fat
set root=(hd1,1)
search --label --no-floppy --set=root EFI
search --file --no-floppy --set=root /EFI/ubuntu/grub.efi
search --file --no-floppy --set=root /EFI/Microsoft/Boot/bootmgfw.efi
#若存在深度安裝的grub則引導(dǎo)
if [ -e /EFI/deepin/grubx64.efi ]; then
chainloader (${root})/EFI/deepin/grub.efi
#否則,若存在Ubuntu安裝的grub則引導(dǎo)
elif [ -e /EFI/ubuntu/grubx64.efi ]; then
chainloader (${root})/EFI/ubuntu/grub.efi
#否則,若存在Windows則引導(dǎo)
elif [ -e /EFI/Microsoft/Boot/bootmgfw.efi ]; then
chainloader (${root})/EFI/Microsoft/Boot/bootmgfw.efi
else
echo "找不到主硬盤中的grub2,請(qǐng)拔下U盤,按Ctrl+Alt+Del重啟電腦!"
echo "Couln't find Grub2 in HDD, please remove the flash disk and press CTRL+ALT+DEL to reboot!"
fi
boot
}
fi
fi
目前僅在64位deepin/Windows下測(cè)試通過(guò),如果出現(xiàn)了bug,請(qǐng)盡可能詳細(xì)地報(bào)告給erickwok404@gmail.com
下載制作好的啟動(dòng)包以及Linux的鏡像
推薦使用Deepin
啟動(dòng)包
啟動(dòng)包備用地址,密碼為 23i5

Linux
U盤分區(qū)
為了達(dá)到我們不影響U盤正常使用的目的,我們將U盤分出一個(gè)5GB的空間,并且格式化為fat32,剩下的空間最好格式化為ntfs,以便存放大文件,當(dāng)然fat32亦可,只不過(guò)無(wú)法存放超過(guò)4GB的大文件而已,如有需要可以考慮使用壓縮分卷。
扯遠(yuǎn)了,分區(qū)操作很簡(jiǎn)單,在Windows下可以使用傲梅或者系統(tǒng)自帶的磁盤管理工具,Linux下也有GParted可以用,順帶提一句,安裝完成之后可以把相應(yīng)分區(qū)標(biāo)記為“隱藏”,GParted可以做到,貌似Windows磁盤管理不能,所以建議用傲梅。


制作引導(dǎo)
分好區(qū)應(yīng)該下載好了,我們把deepin_15.5_recovery-解壓到U盤根目錄.7z這個(gè)文件里面的recovery文件夾解壓到5GB的那個(gè)分區(qū)里
然后再把U盤grub2+bootmgr引導(dǎo)2018.1.5.7z里面的文件解壓到U盤里,現(xiàn)在長(zhǎng)這樣

在Linux下的話,右鍵使用命令行,輸入sudo bash install_Legacy_bash_shell_v1.1.3.sh

輸入d1

然后自動(dòng)跳回主菜單,出現(xiàn)這個(gè)界面即為成功

此時(shí)輸入0退出
到目前,U盤的引導(dǎo)已經(jīng)做好了,包括MBR引導(dǎo)與UEFI引導(dǎo)。
拷貝鏡像
此時(shí)如果你直接重啟的話,無(wú)論是哪一個(gè)系統(tǒng)都進(jìn)不去的,因?yàn)樽铌P(guān)鍵的Linux的Live鏡像和WinPE鏡像還沒(méi)拷進(jìn)U盤。


所以我們將剛剛下載好的Deepin鏡像放到/U盤/PE/deepin里,重命名為deepin.iso覆蓋掉原本的空文件
然后將這兩個(gè)文件夾

也復(fù)制到
/U盤/PE里面耐心等待……

好了,現(xiàn)在是這樣(tree命令需要額外安裝,sudo apt install tree)

如果你發(fā)現(xiàn)你還有文件是0b大小的,就檢查一下是不是漏了哪個(gè)沒(méi)拷進(jìn)來(lái)

這樣就可以重啟測(cè)試能否進(jìn)入PE和Live了
(可選)將這個(gè)分區(qū)設(shè)為隱藏
啟動(dòng)GParted,卸載/dev/sdd1


勾選"hidden"即可

Windows
分區(qū)
此步驟參見(jiàn)Linux段
分完區(qū)之后大概是這樣

制作引導(dǎo)
與Linux相同,將這兩個(gè)文件解壓到我們分好的5GB的分區(qū)下,我這里是F:
腳本會(huì)申請(qǐng)管理員權(quán)限,允許即可

回車,腳本會(huì)提示你“在‘分區(qū)管理’中激活分區(qū)”



出現(xiàn)這個(gè)提示即為成功。
拷貝鏡像
此時(shí)如果你直接重啟的話,無(wú)論是哪一個(gè)系統(tǒng)都進(jìn)不去的,因?yàn)樽铌P(guān)鍵的Linux的Live鏡像和WinPE鏡像還沒(méi)拷進(jìn)U盤。


我們將這兩個(gè)文件夾復(fù)制到F:\PE\里


然后將下載好的Deepin系統(tǒng)鏡像復(fù)制到F:\PE\deepin里,并且改名為deepin.iso覆蓋掉原本的空文件
這下就可以重啟測(cè)試是否能進(jìn)入live和PE了
(可選)設(shè)為隱藏
這一步需要“傲梅分區(qū)助手”或“DiskGenius”
傲梅

恭喜,你現(xiàn)在擁有了一個(gè)雙啟動(dòng)U盤



