使用VHD建構作業系統
因學校強力推廣5a88,的確也讓我看到一些可能性,做了多番努力終於可以使用VHD開機了,當然還是老話一句,很多地方的使用並不是太清楚,先做紀錄避免忘記了
首先:參考了microsoft的技術文件(傳送門),文章中是直接建構開機目錄(應該是BCD吧?),我是借用了5a88格式,使用grub4dos+NTboot來製作。
首先:參考了microsoft的技術文件(傳送門),文章中是直接建構開機目錄(應該是BCD吧?),我是借用了5a88格式,使用grub4dos+NTboot來製作。
Step1:建立虛擬硬碟(VHDX)
- 使用磁碟管理(圖形介面)建立
大略步驟:磁碟管理-->動作-->建立VHD-->設定(大小、格式、類型)-->連線VHD - 使用指令(diskpart)建立
diskpart
create vdisk file=C:\windows.vhdx maximum=25600 type=fixed
attach vdisk
create partition primary
format quick label=vhdx
assign letter=v
語法: CREATE VDISK FILE=<"filename"> MAXIMUM=<N> [TYPE={FIXED|EXPANDABLE}][SD=<SDDL string>] [PARENT=<"filename">] [SOURCE=<"filename">][NOERR]
Step2:將windows映像檔套用的虛擬硬碟
- 掛載window 10映像檔
- 開啟CMD(系統管理員)後,切換目錄至 \sources\下(有install.wim)
- 打指令將映像套用至VHDX
Dism /Apply-Image /ImageFile:install.wim /index:1 /ApplyDir:V:\
(V為VHDX位置) - 中斷VHDX
diskpart
select vdisk file=C:\windows.vhdx
detach vdisk
exit
Step3:建立原生開機新裝置
- (BCD)建立開機磁區及VHD放置磁區(BIOS or EFI)
- BIOS(mbr?)
diskpart
select disk 0
clean
rem == 1. System partition ======================
create partition primary size=100
format quick fs=ntfs label="System"
assign letter="S"
active
rem == 2. Main partition ========================
create partition primary
format quick fs=ntfs label="Main"
assign letter="M"
exit - EFI
diskpart
select disk 0
clean
convert gpt
rem == 1. System partition =========================
create partition efi size=100
format quick fs=fat32 label="System"
assign letter="S"
rem == 2. Microsoft Reserved (MSR) partition =======
create partition msr size=128
rem == 3. Main partition ===========================
create partition primary
format quick fs=ntfs label="Main"
assign letter="M"
exit - (Grub4Dos+NTBoot) : 分割硬碟 : 分區管理 --> 重新分區
<註:System空間只設定100是只放開機資料,如要放winpe等就需加大,也許1024?>
Step4:複製VHDX至指定位置
(說明省略)
2.建立可開機的 WinPE 媒體(傳送門)
3.WinPE:掛接和自訂(傳送門)
4.台南市5a88(傳送門)
Step5:新增開機項目
- (BCD)開機方式分成BIOS(MBR? or legacy?) or EFI
- BIOS
V:
cd v:\windows\system32 bcdboot
bcdboot v:\windows /s S: /f BIOS - EFI
V:\
cd v:\windows\system32
bcdboot v:\windows /s S: /f UEFI - 其中V為VHDX掛載後的Letter,另/f後的屬性我給ALL一樣可行,另外在使用5a88所附的WinPE執行bcdboot指令時,系統跳出此指令與winpe不相容的停止訊息(猜測可能是我的win10是1809版本),後來使用直接製作乾淨的winpe(1809版)後,就可以使用了,詳細說明如同參考2。
- (Grub4Dos+NTBoot)
- 設定使用Grub4Dos : 主引導紀錄 --> GRUB4DOS 0.46a
- 複製檔案,包含 :
- grldr
- menu.lst
- xxx.jpg
- unifont.hex.gz
- NTBOOT (由5a88複製而來)
- sources(由5a88複製而來,為了可用的WinPE)
- 修改menu.list,加入 :
iftitle [find --ignore-floppies --ignore-cd --set-root /VHD/win10x64_1809.vhdx] XXX \n XXX
hide (hd0,0)
hide (hd0,1)
command (bd)/NTBOOT/NTBOOT NT6=(hd0,1)/VHD/win10x64_1809.vhdx
((hd0,1)/VHD/win10x64_1809.vhdx 為VHDX檔案實際所在位置)
其餘詳細設定可參考上一篇:製作USB的多系統重灌工具
<緊急2019.11.13>------
由於推了新的win10版本(1903)想說來重作順便檢測步驟(以上都是印象中),結果居然無法套用,尚待解決 !!
與之前的做法不同的是我先套用BCD開機方式做好系統(包含第一次設定)然後再移到grub4dos上,不知道是否這樣會有差異!?
---------------------------------
Step6:重新開機後使用新裝置硬碟開機
(說明省略)參考:
1.以虛擬硬碟開機:將 VHDX 或 VHD 新增至開機功能表(傳送門)2.建立可開機的 WinPE 媒體(傳送門)
3.WinPE:掛接和自訂(傳送門)
4.台南市5a88(傳送門)
留言
張貼留言