grub2各種手動命令引導教程
手動引導ubuntu的iso映象檔案從而安裝ubuntu,grub>代表命令的開始
假設ubuntu映象在U盤的第一個分割槽的根目錄下即:(hd0,1)/ubuntu-18.04-desktop-amd64.iso
手動引導下可以按TAB鍵補全命令、目錄以及檔名
#查詢所有已安裝磁碟並列印詳細資訊 grub>ls -l #設定根目錄分割槽 grub>set root=(hd0,1) #將Ubuntu.iso位置賦值給變數isofile (這裡用變數方便下面不用打一長串檔名) grub>set isofile=/ubuntu-18.04-desktop-amd64.iso #使用grub2的回放技術,把ubuntu.iso的檔案內容,投射(掛載)到loop上。在使用這個命令時,你得考慮你的記憶體足夠的大。(hd0,1)iso映象檔案所在分割槽 grub>loopback loop (hd0,1)$isofile #載入核心,其中(loop),是使用了上一句所投射的裝置,其訪問的是ubuntu.iso檔案的內容,boor=casper將目錄casper掛載為boot,iso-scan/filename=$isofile 是利用iso-scan來尋找到你的ubuntu.iso檔案所在位置並把所找到的iso檔案掛到光碟機裝置 grub>linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isofile quiet splash #initrid.lz是一個鏡象檔案,裡面存的是一些核心要載入的重要檔案 grub>initrd (loop)/casper/initrd.lz #根據上面的引數啟動系統 grub>boot
-----------------------------------------------------------------------分割線-----------------------------------------------------------------------------------------
手動引導archlinux的iso映象檔案從而安裝archlinux,grub>代表命令的開始
假設archlinux映象在U盤的第一個分割槽的根目錄下即:(hd0,1)/archlinux-2018.07.01-x86_64.iso
grub>set root=(hd0,1) grub>set isofile=/archlinux-2018.07.01-x86_64.iso grub>loopback loop (hd0,1)$isofile #img_dev=/dev/sda1 映象檔案所在分割槽裝置,如果不清楚所在裝置是怎麼排序的可以使用img_dev=/dev/disk/by-uuid/分割槽的UUID 關於UUID可以用"grub>ls -l" 指令查詢,或者可以用img_dev=/dev/disk/by-labe/分割槽卷標 grub>linux (loop)/arch/boot/x86_64/vmlinuz img_dev=/dev/sda1 img_loop=$isofile earlymodules=loop grub>initrd (loop)/arch/boot/x86_64/archiso.img grub>boot
-----------------------------------------------------------------------分割線-----------------------------------------------------------------------------------------
手動引導Ubuntu
假設ubuntu安裝在第一塊硬碟的第一個分割槽即:(hd0,1)
grub>root=(hd0,1) grub>linux /boot/vmlinuz-xxx grub>initrd /boot/initrd.img-xxx grub>boot
XXX是核心版本號
關於linux的通用引導方法其實與上面差不多,就是在“grub>linux /boot/vmlinuz-xxx”這一句載入核心的檔案與後面跟的引數有所不同,不同的linux發行版會有不同的引數,有些可以也不加引數啟動
-----------------------------------------------------------------------分割線-----------------------------------------------------------------------------------------
手動引導uefi啟動模式下的Windows。
winPE也可以用此方法引導
假設windows安裝在第一塊硬碟的第一個分割槽即:(hd0,1)
#載入ntfs檔案系統
grub>insmod ntfs
grub>set root=(hd0,1)
#grub>chainloader +1 是引導傳統bios啟動的Windows
#如果不成功則可能是efi檔案被替換用換個目錄試試如:chainloader/EFI/microsoft/boot/bootmgfw.efi
grub>chainloader /EFI/boot/bootx64.efi
grub>boot
-----------------------------------------------------------------------分割線-----------------------------------------------------------------------------------------
手動引導bios啟動模式下的Windows。
winPE也可以用此方法引導
假設windows安裝在第一塊硬碟的第一個分割槽即:(hd0,1)
chainloader /bootmgr 命令會報簽名錯誤,即使關閉簽名驗證也無法啟動(chainloader +1也可啟動系統但不可啟動U盤pe)
grub>set root=(hd0,1)
# /bootmgr 是一個在根目錄下的引導檔案,bootmgr是在Windows Vista、Windows 7、windows 8/8.1和windows 10中使用的新的啟動管理器,就相當於Win NT/Win 2000/Win XP時代的NTLDR。
grub>ntldr /bootmgr
grub>boot