制作 WinPE/Linux 多啟動(dòng)U盤

參考:【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

image

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磁盤管理不能,所以建議用傲梅。

image

image

制作引導(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)這樣

image

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

image

輸入d1

image

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


image

此時(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盤。

image

image

所以我們將剛剛下載好的Deepin鏡像放到/U盤/PE/deepin里,重命名為deepin.iso覆蓋掉原本的空文件

然后將這兩個(gè)文件夾

image

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

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

image

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

image

這樣就可以重啟測(cè)試能否進(jìn)入PE和Live了

(可選)將這個(gè)分區(qū)設(shè)為隱藏

啟動(dòng)GParted,卸載/dev/sdd1


image

image

勾選"hidden"即可


image

Windows

分區(qū)

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


TIM截圖20180423174457.png

制作引導(dǎo)

與Linux相同,將這兩個(gè)文件解壓到我們分好的5GB的分區(qū)下,我這里是F:

雙擊運(yùn)行這個(gè)

腳本會(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盤。

image

image

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

image

image

然后將下載好的Deepin系統(tǒng)鏡像復(fù)制到F:\PE\deepin里,并且改名為deepin.iso覆蓋掉原本的空文件

這下就可以重啟測(cè)試是否能進(jìn)入live和PE了

(可選)設(shè)為隱藏

這一步需要“傲梅分區(qū)助手”或“DiskGenius”

DG

傲梅


image

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

image
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • linux資料總章2.1 1.0寫的不好抱歉 但是2.0已經(jīng)改了很多 但是錯(cuò)誤還是無(wú)法避免 以后資料會(huì)慢慢更新 大...
    數(shù)據(jù)革命閱讀 13,353評(píng)論 2 33
  • Ubuntu的發(fā)音 Ubuntu,源于非洲祖魯人和科薩人的語(yǔ)言,發(fā)作 oo-boon-too 的音。了解發(fā)音是有意...
    螢火蟲de夢(mèng)閱讀 100,830評(píng)論 9 468
  • 轉(zhuǎn)載聲明:本文雖然不是本人100%原創(chuàng),但也是辛辛苦苦整理的,可以轉(zhuǎn)載,但請(qǐng)注明出處 這篇文章是關(guān)于折騰Windo...
    SOMCENT閱讀 8,313評(píng)論 3 37
  • 先讀一下前面這段話,以決定是否要看下去: 這是寫給純小白的Arch Linux安裝步驟。Arch的可配置自由度太高...
    沉淪的菩提閱讀 32,494評(píng)論 73 193
  • 本文參加#未完待續(xù),就要表白#活動(dòng),本人承諾,文章內(nèi)容為原創(chuàng),且未在其他平臺(tái)發(fā)表過(guò)。 聽(tīng) 那是火車滑過(guò)鐵軌的聲音 ...
    鵬與南冥閱讀 226評(píng)論 1 3

友情鏈接更多精彩內(nèi)容