无忧启动论坛

标题: 20200801ipxe網絡啟動Linux Live上安裝/修改原版Windows(PE) ,源碼編譯wimtool-im... [打印本页]

作者: hkkitlee    时间: 2020-8-1 21:40
标题: 20200801ipxe網絡啟動Linux Live上安裝/修改原版Windows(PE) ,源碼編譯wimtool-im...
本帖最后由 hkkitlee 于 2020-8-3 13:01 编辑

由於此工具集是由ipxe經網絡啟動Linux Live,再執行wimlib來安裝/修改Windows(PE),所以放在「綜合討論區」好像比較合適。
以極輕量化的tinycore linux(20MB)作為基礎,高度集成救援檔案/安裝系統於一身!輕巧高速!拒絕臃腫拖慢電腦!Linux + wimlib 是開源軟件,更沒有WinPE版權使用上的煩惱。



溫馨提示:
很不怕折騰的心;
請自行備份數據,數據無價;
wimlib的依賴安裝已使用一鍵腳本完成;
安裝Windows不是全自動化,畢竟涉及分區操作;
Linux終端操作,請克服命令行操作;
小白們如不確定操作,「極度」建議使用虛擬機操作!


登入密碼、下載、啟動教學帖:20200801更新:RyanBoot—ipxe usb UEFI Secure boot/Bios 遠程安裝/救援 Linux/Winpe
Tinycore Linux v11 desktop(已測試) / RyanTC 均可。

使用Linux救援檔案:20190831RyanBoot 網啟RyanTC/Debian 10 buster救援M$檔案/壞軌Testdisk/DDrescue備忘

主角軟件介紹(節錄自以下官網):wimlib是一個開放源代碼,跨平台的庫,用於創建,提取和修改Windows Imaging(WIM)存檔。wimlib及其命令行前端wimlib-imagex提供了Microsoft的WIMGAPIImageXDISM的免費跨平台替代方案。允許從非Windows操作系統(例如Linux)部署Windows操作系統。
官方網站:https://wimlib.net/

軟件環境:
作業系統:20MB的tinycore linux,啟動輕巧
wimlib以源碼編譯以確保版本最新。
軟件依賴:
libxml2
libfuse
libntfs-3g
OpenSSL / libcrypto
cdrkit

mtools
syslinux
cabextract
wimlib-imagex編譯、安裝操作:
sudo sh /root/.aTCbash.sh & #先執行帶PXE功能的腳本,以啟動wimlib的依賴安裝腳本;
cd ~/wimlib #執行完成後進入「家目錄」;
sudo ./configure && sudo make && sudo make install #編譯,安裝完成;









作者: hkkitlee    时间: 2020-8-1 21:48
本帖最后由 hkkitlee 于 2020-8-10 22:47 编辑

Windows安裝流程:
Windows 7  ( 或8或10)皆可
準備好安裝媒體,此次是原版iso存放在遠端Linux,以sshfs存取。
預留100MB分區及安裝Windows的分區[假設是/dev/sda2],分區標纖選 [hfs/ntfs];之後用mkfs.ntfs /dev/sda2先格式化成ntfs。

#創建新資料夾
sudo mkdir /tmp/{iso,ntfs,base}
#使用sshfs 掛載遠端主機到本地資料夾/tmp/base
sudo sshfs xxx@xxxxxxxxx:/PATH/ /tmp/base
#掛載遠端主機iso影像至本地資料夾
sudo mount -o loop /tmp/base/PATH_TO_WINDOWS_ISO /tmp/iso

#查閱wim所有卷的資訊
wimlib-imagex info /tmp/iso/sources/xxxxxxx.wim
#查閱後得知卷4(例)是安裝卷,所以選擇卷4並安裝在/dev/sda2分區
sudo wimlib-imagex apply /tmp/iso/sources/xxxxxxx.wim 4 /dev/sda2

#掛載sda2分區,並複製啟動所需文件
mount -t ntfs-3g /dev/sda2 /tmp/ntfs
mkdir /tmp/ntfs/sources
cp -r /tmp/ntfs/Windows/Boot/PCAT /tmp/ntfs/Boot
cp /tmp/ntfs/Boot/bootmgr /ntfs/
#複製BCD
cp /tmp/ntfs/Windows/Boot/DVD/PCAT/{boot.sdi,BCD} /tmp/ntfs/Boot
cp /tmp/ntfs/Windows/System32/Recovery/winRE.wim /tmp/ntfs/sources/boot.wim
umount /tmp/ntfs


#安裝/更新grub2,之後重新啟動
sudo mkfs.vfat /dev/vda1 && mount /dev/vda1 /tmp/ntfs

################################################

sudo grub2-install --target=i386-pc --recheck --boot-directory=/tmp/ntfs /dev/vda

insmod part_msdos
insmod fat
insmod ext2
loadfont unicode
set gfxterm=auto
terminal_output gfxterm


#Timeout for menu
set default=1
set timeout=60

menuentry "Windows 10" {
        insmod part_gpt
        insmod fat
        search --no-floppy --fs-uuid --set <boot_efi_uuid>
        chainloader /EFI/Microsoft/Boot/bootmgfw.efi
}

menuentry "windows" {
insmod chain
insmod ntfs
set root=(hd0,2)
chainloader +1
###################################################


#重啟後修復BCD,進入正常程序
bcdboot C:\Windows /s C:
bootrec /rebuildbcd



安裝驅動
dism /image:c:\ /add-driver /driver:c:\WindowsSupport\$WinPEDriver$ /recurse

列出盤符
wmic logicaldisk get name

作者: caocaofff    时间: 2020-8-1 22:15
网络启动Linux并通过网络安装Windows,不错
作者: 2010sya    时间: 2020-8-1 22:33
caocaofff 发表于 2020-8-1 22:15
网络启动Linux并通过网络安装Windows,不错

翻译的不错,谢谢!
以前学习DOS的时候接触过繁体中文的资料,现在再接触这些东西还真有点不适应
作者: sairen139    时间: 2020-8-1 22:43
以前搞过一个50m的linux的类似方案,的确是个好方法!
作者: xhan    时间: 2020-8-2 17:16
谢谢分享
作者: xban    时间: 2020-8-2 17:17
感谢分享
作者: 2012df123    时间: 2020-8-2 20:28
感谢分享
作者: hkkitlee    时间: 2020-8-5 21:42
本帖最后由 hkkitlee 于 2020-8-5 21:44 编辑

另一個方法,WinNTSetup又試試






欢迎光临 无忧启动论坛 (http://bbs.wuyou.net/) Powered by Discuz! X3.3