?grub2各種手動(dòng)命令引導(dǎo)教程(引導(dǎo)Ubuntu及安裝鏡像,arch Linux及安裝鏡像,Windows及winPE) 原創(chuàng)
2018-07-29 19:13:45
? 3點(diǎn)贊
?
worldy_MCX ?
碼齡3年
關(guān)注
手動(dòng)引導(dǎo)ubuntu的iso鏡像文件從而安裝ubuntu,grub>代表命令的開(kāi)始
假設(shè)ubuntu鏡像在U盤(pán)的第一個(gè)分區(qū)的根目錄下即:(hd0,1)/ubuntu-18.04-desktop-amd64.iso
手動(dòng)引導(dǎo)下可以按TAB鍵補(bǔ)全命令、目錄以及文件名
#查詢(xún)所有已安裝磁盤(pán)并打印詳細(xì)信息
grub>ls -l
#設(shè)置根目錄分區(qū)
grub>set root=(hd0,1)
#將Ubuntu.iso位置賦值給變量isofile (這里用變量方便下面不用打一長(zhǎng)串文件名)
grub>set isofile=/ubuntu-18.04-desktop-amd64.iso
#使用grub2的回放技術(shù),把ubuntu.iso的文件內(nèi)容,投射(掛載)到loop上。在使用這個(gè)命令時(shí),你得考慮你的內(nèi)存足夠的大。(hd0,1)iso鏡像文件所在分區(qū)
grub>loopback loop (hd0,1)$isofile
#加載內(nèi)核,其中(loop),是使用了上一句所投射的設(shè)備,其訪問(wèn)的是ubuntu.iso文件的內(nèi)容,boor=casper將目錄casper掛載為boot,iso-scan/filename=$isofile 是利用iso-scan來(lái)尋找到你的ubuntu.iso文件所在位置并把所找到的iso文件掛到光驅(qū)設(shè)備
grub>linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isofile quiet splash
#initrid.lz是一個(gè)鏡象文件,里面存的是一些內(nèi)核要加載的重要文件
grub>initrd (loop)/casper/initrd.lz
#根據(jù)上面的參數(shù)啟動(dòng)系統(tǒng)
grub>boot
-----------------------------------------------------------------------分割線(xiàn)-----------------------------------------------------------------------------------------
手動(dòng)引導(dǎo)archlinux的iso鏡像文件從而安裝archlinux,grub>代表命令的開(kāi)始
假設(shè)archlinux鏡像在U盤(pán)的第一個(gè)分區(qū)的根目錄下即:(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 鏡像文件所在分區(qū)設(shè)備,如果不清楚所在設(shè)備是怎么排序的可以使用img_dev=/dev/disk/by-uuid/分區(qū)的UUID 關(guān)于UUID可以用"grub>ls -l" 指令查詢(xún),或者可以用img_dev=/dev/disk/by-labe/分區(qū)卷標(biāo)
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
方法二:
grub>set root=(hd0,1)
grub>set isofile=/arch.iso
grub>loopback loop (hd0,1)$isofile
grub>linux (loop)/arch/boot/x86_64/vmlinuz img_loop=$isofile archisobasedir=arch archisolabel=ARCH_XXXXXX #此處為發(fā)布年月
grub>initrd (loop)/arch/boot/x86_64/archiso.img
-----------------------------------------------------------------------分割線(xiàn)-----------------------------------------------------------------------------------------
手動(dòng)引導(dǎo)Ubuntu
假設(shè)ubuntu安裝在第一塊硬盤(pán)的第一個(gè)分區(qū)即:(hd0,1)
grub>root=(hd0,1)
grub>linux /boot/vmlinuz-xxx
grub>initrd /boot/initrd.img-xxx
grub>boot
XXX是內(nèi)核版本號(hào)
關(guān)于linux的通用引導(dǎo)方法其實(shí)與上面差不多,就是在“grub>linux /boot/vmlinuz-xxx”這一句加載內(nèi)核的文件與后面跟的參數(shù)有所不同,不同的linux發(fā)行版會(huì)有不同的參數(shù),有些可以也不加參數(shù)啟動(dòng)
-----------------------------------------------------------------------分割線(xiàn)-----------------------------------------------------------------------------------------
手動(dòng)引導(dǎo)uefi啟動(dòng)模式下的Windows。
winPE也可以用此方法引導(dǎo)
假設(shè)windows安裝在第一塊硬盤(pán)的第一個(gè)分區(qū)即:(hd0,1)
#加載ntfs文件系統(tǒng)
grub>insmod ntfs
grub>set root=(hd0,1)
#grub>chainloader +1 是引導(dǎo)傳統(tǒng)bios啟動(dòng)的Windows
#如果不成功則可能是efi文件被替換用換個(gè)目錄試試如:chainloader/EFI/microsoft/boot/bootmgfw.efi
grub>chainloader /EFI/boot/bootx64.efi
grub>boot
-----------------------------------------------------------------------分割線(xiàn)-----------------------------------------------------------------------------------------
手動(dòng)引導(dǎo)bios啟動(dòng)模式下的Windows。
winPE也可以用此方法引導(dǎo)
假設(shè)windows安裝在第一塊硬盤(pán)的第一個(gè)分區(qū)即:(hd0,1)
chainloader /bootmgr 命令會(huì)報(bào)簽名錯(cuò)誤,即使關(guān)閉簽名驗(yàn)證也無(wú)法啟動(dòng)(chainloader +1也可啟動(dòng)系統(tǒng)但不可啟動(dòng)U盤(pán)pe)
grub>set root=(hd0,1)
# /bootmgr 是一個(gè)在根目錄下的引導(dǎo)文件,bootmgr是在Windows Vista、Windows 7、windows 8/8.1和windows 10中使用的新的啟動(dòng)管理器,就相當(dāng)于Win NT/Win 2000/Win XP時(shí)代的NTLDR。
grub>ntldr /bootmgr
grub>boot
聯(lián)系客服