總瀏覽量

2017/07/11

多重開機USB製作 及 開機選單修改(中) - 引導重灌ISO




前言

~本系列分成上中下三篇,請先閱讀上篇~


Windows7和Windows10透過Grub4Dos引導十分的麻煩
如果直接把iso拿來用會出現下面這個:
沒看錯,並不是你眼睛業障重
他抓不到驅動....



解答是要透過imdisk掛載,才能正常執行

又另外,Windows7安裝時如果使用USB3.0孔插滑鼠鍵盤,你可能會發現滑鼠鍵盤完全不動
是的,Windows7沒有3.0驅動
而現在新的電腦有些沒有2.0插槽,像是這台

於是我們就要開工了...

步驟大綱

本系列分成三篇敘述,上篇老少皆宜,中下篇屬於困難級,請適當斟酌

上篇-建立開機USB&PE系統: http://blog.jim60105.com/2017/07/usb.html
  1. 安裝SuperUSB_v6
  2. 刪除SuperUSB_v6多餘部分
  3. 增加Win10 PE
中篇-引導重灌ISO: http://blog.jim60105.com/2017/07/usb2.html
  1. 製作並增加安裝OS選單: Windows XP
  2. 製作並增加安裝OS選單: Windows 7
  3. 製作並增加安裝OS選單: Windows 10
  4. 製作並增加安裝OS選單: Ubuntu 16.04
下篇-加入Windows To Go系統: http://blog.jim60105.com/2017/07/usb3.html
    1. 製作Win10 VHD
    2. 設置BCD引導
    3. 安裝EWF影子系統
    4. TroubleShooting

    正文

    製作並增加安裝OS選單: Windows XP

    確認上篇建議下載的Windows XP iso檔案名稱為"zh-tw_windows_xp_professional_with_service_pack_3_x86_cd_vl_x14-74140.iso"

    然後請將此ISO檔複製到"USB://ISO/"目錄底下

    修改USB://List/menu.lst,拿掉os.lst的註解


    修改USB://List/os.lst,中間砍掉換成這段
    title [ 安裝OS ]
    clear
    
    title   [01] 安裝 Windows XP Pro SP3 x86(IDE)\n Install Windows XP Pro SP3 x86\n 必須是IDE模式,不能是AHCI模式
    /UBRESCUE/NTBOOT/NTBOOT iso_inst=firadisk cdrom=/ISO/zh-tw_windows_xp_professional_with_service_pack_3_x86_cd_vl_x14-74140.iso addons="dpms 0"
    boot
    ※注意※
    SATA模式必須是IDE模式,不能是AHCI模式,XP無法支援AHCI

    製作並增加安裝OS選單: Windows 7

    開始製作win7跟win10以前,請先下載:
    1. imdisk: MEGA
    2. Win7 USB Patcher: ASRock (N3000系列 → 透過USB隨身碟及任何一種滑鼠鍵盤。 → Win7 USB Patcher)
    將上篇建議下載的Windows7 11合一iso檔案重新命名為"Windows_7_11in1.iso"

    開啟UltraISO,打開Windows_7_11in1.iso映像檔
    左上方打開路徑\sources,左下方選取到存放位置,右上方找到"boot.wim"以後對其右鍵提取
    提取成功後先不要關閉UltraISO,後面還要用

    檔案總管開啟boot.wim存放位置,在同級下建立資料夾"mount"

    開啟Gimagex,在"掛載映像"頁籤如圖選擇,然後進行掛載
    掛載完成後先不要關閉Gimagex,後面還要用

    開啟記事本,建立文件"win7.cmd"
    pushd %SYSTEMDRIVE%\imdisk
    @rundll32.exe setupapi.dll,InstallHinfSection DefaultInstall 132 .\imdisk.inf
    @FOR %%I IN (C D E F G H I J K L M N O P Q R S T U V W X Y Z) DO @IF EXIST %%I:\ISO\Windows_7_11in1.iso imdisk -a -f %%I:\ISO\Windows_7_11in1.iso -m #:
    exit
    

    開啟記事本,建立文件"Winpeshl.ini"
    [LaunchApp]
    AppPath = %SYSTEMDRIVE%\sources\win7.cmd
    
    [LaunchApps]
    
    %SYSTEMDRIVE%\sources\setup.exe
    

    win7.cmd複製到路徑"\mount\sources"之下

    Winpeshl.ini複製到路徑"\mount\Windows\System32"之下

    imdisk複製到路徑"\mount"之下

    回到Gimagex,如圖卸載boot.wim
    ※注意※

    卸載前務必把\mount下開啟的所有文件/資料夾關閉,恢復到非使用中狀態
    要是掛載/卸載失敗就以系統管理員執行cmd: Dism /Cleanup-Wim

    回到UltraISO,對右下部分"右鍵→重新整理",直到新的boot.wim正確顯示
    然後對其右鍵→加入→覆蓋進去

    確認是否加入成功,然後存檔離開UltraISO

    開啟Win7 USB Patcher,對剛剛存檔完成的Windows_7_11in1.iso檔案使用
    第一次選ISO

    選ISO,並選擇剛剛完成的Windows_7_11in1.iso

    到下圖這步驟,Start按下去就開始跑了,途中可能會無回應,請耐心等待~
    這裡要等非常非常久

    下圖表示完成

    完成以後到桌面找到PatchedImg.iso,重新命名為"Windows_7_11in1.iso",並複製到"USB://ISO"資料夾底下

    修改USB://List/os.lst,中間加上這段
    title   [02] 安裝 Windows 7\n Install Windows 7\n
    find --set-root /ISO/Windows_7_11in1.iso
    map /ISO/Windows_7_11in1.iso (hd32)
    map --hook
    chainloader (hd32)
    boot

    ※注意※
    插在USB3.0插槽啟動時Win7還是會遇到引導失敗,建議盡量插在2.0插槽使用
    不然就另外單獨拿一支USB2.0燒著備用,用rufus直接做比較保險

    製作並增加安裝OS選單: Windows 10

    Windows10作法跟Windows7類似,一樣要使用imdisk掛載
    不過他並不需要上U3Patch,Win10原生支援USB3.0
    需要注意的是Win10的win10.cmdWinpeshl.ini與Win7的內容不同,注意不要混用

    再來就是,我下載到的Windows10是x64+x86混和光碟,所以boot.wim有兩個,要提取作業兩次(兩個boot.wim內容不同,都要個別上imdisk)

    兩個檔案給在這裡,步驟同上不再重複(記得不要遺忘imdisk)
    win10.cmd
    pushd %SYSTEMDRIVE%\imdisk
    @rundll32.exe setupapi.dll,InstallHinfSection DefaultInstall 132 .\imdisk.inf
    @FOR %%I IN (C D E F G H I J K L M N O P Q R S T U V W X Y Z) DO @IF EXIST %%I:\ISO\zh-tw_Windows_10_Pro_x64_1607.iso imdisk -a -f %%I:\ISO\zh-tw_Windows_10_Pro_x64_1607.iso -m #:
    exit
    

    Winpeshl.ini
    [LaunchApp]
    AppPath = %SYSTEMDRIVE%\sources\win10.cmd
    
    [LaunchApps]
    
    %SYSTEMDRIVE%\setup.exe
    

    簡單附上兩張示意圖


    確認完成的Windows 10 iso檔案名稱為"zh-tw_Windows_10_Pro_x64_1607.iso"

    然後請將此ISO檔複製到"USB://ISO/"目錄底下

    修改USB://List/os.lst,中間加上這段
    title   [03] 安裝 Windows 10 1607\n Install Windows 10 1607
    find --set-root /ISO/zh-tw_Windows_10_Pro_x64_1607.iso
    map /ISO/zh-tw_Windows_10_Pro_x64_1607.iso (hd32)
    map --hook
    chainloader (hd32)
    boot

    製作並增加安裝OS選單: Ubuntu 16.04

    相較之下Ubuntu處理非常簡單
    先建立一個資料夾,名稱為"ubuntu-16.04.2-desktop-amd64"
    然後把ubuntu-16.04.2-desktop-amd64.iso丟進資料夾裡面

    以WinRAR或其他壓縮軟體開啟ubuntu-16.04.2-desktop-amd64.iso

    開啟路徑"\casper",將 initrd.lz vmlinuz.efi 兩個檔案解壓縮到ubuntu-16.04.2-desktop-amd64資料夾內

    資料夾下狀態如圖

    ubuntu-16.04.2-desktop-amd64資料夾整個丟到USB://ISO/底下

    修改USB://List/os.lst,中間加上這段
    title   [04] 安裝 Ubuntu 16.04 LTS x64\n Install Ubuntu 16.04 LTS x64
    root (hd0,0)
    kernel (hd0,0)/ISO/ubuntu-16.04.2-desktop-amd64/vmlinuz.efi boot=casper iso-scan/filename=/ISO/ubuntu-16.04.2-desktop-amd64/ubuntu-16.04.2-desktop-amd64.iso
    initrd (hd0,0)/ISO/ubuntu-16.04.2-desktop-amd64/initrd.lz
    

    修改USB://List/menu.lst,中間加上這段
    title   - Ubuntu 16.04 LTS x64\n Install Ubuntu 16.04 LTS x64
    root (hd0,0)
    kernel (hd0,0)/ISO/ubuntu-16.04.2-desktop-amd64/vmlinuz.efi boot=casper iso-scan/filename=/ISO/ubuntu-16.04.2-desktop-amd64/ubuntu-16.04.2-desktop-amd64.iso
    initrd (hd0,0)/ISO/ubuntu-16.04.2-desktop-amd64/initrd.lz


    參考資料

      張貼留言