Linux ISO鏡像文件從硬盤(pán)啟動(dòng)的方法
通常我們?cè)趩?dòng)Linux ISO鏡像的時(shí)候,需要先燒錄到光盤(pán),這樣會(huì)比較麻煩,那么有什么方法能夠從硬盤(pán)直接啟動(dòng)Linux ISO鏡像文件呢?這就需要用到GRUB2啟動(dòng)加載,下面學(xué)習(xí)啦小編就給大家做個(gè)詳細(xì)介紹。
這一密技需要你的硬盤(pán)驅(qū)動(dòng)器上安裝有Linux系統(tǒng),你的計(jì)算機(jī)必須使用GRUB2啟動(dòng)加載器,這是大多數(shù)Linux系統(tǒng)的標(biāo)準(zhǔn)啟動(dòng)加載器。不好意思,你是不能使用Windows啟動(dòng)加載器來(lái)直接啟動(dòng)一個(gè)Linux ISO文件的。
下載你想要使用的ISO文件,并放到你的Linux分區(qū)中。GRUB2應(yīng)該支持大多數(shù)Linux系統(tǒng)的。如果你想要在live環(huán)境中使用它們,而不想將它們安裝到硬盤(pán)驅(qū)動(dòng)器上,請(qǐng)確認(rèn)你下載的是各個(gè)Linux ISO的“live CD”版本。很多基于Linux的可啟動(dòng)工具盤(pán)也應(yīng)該可以工作。
檢查ISO文件內(nèi)容
你可能需要查看ISO文件的內(nèi)部來(lái)知道那些特定的的文件在哪里。例如,你可以通過(guò)使用Ubuntu及其它基于GNOME的桌面環(huán)境中的歸檔管理器/文件管理器這些圖形化應(yīng)用程序來(lái)打開(kāi)ISO文件。在Nautilus文件管理器中,右擊ISO文件并選擇使用歸檔管理器打開(kāi)。
找到內(nèi)核文件和initrd映像。如果你正在使用Ubuntu ISO文件,你會(huì)在casper文件夾中找到這些文件——vmlinuz文件是Linux內(nèi)核,而initrd文件是initrd映像。后面,你需要知道它們?cè)贗SO文件中所處的位置。
GRUB使用與Linux不同的“設(shè)備命名”方式。在Linux系統(tǒng)中,/dev/sda0是硬盤(pán)上的第一個(gè)分區(qū)——a是指第一個(gè)硬盤(pán),而0是指第一個(gè)分區(qū)。在GRUB中,與/dev/sda0相對(duì)應(yīng)的是(hd0,1)。0指第一個(gè)硬盤(pán),而1則指它上面的第一個(gè)分區(qū)。換句話說(shuō),在GRUB設(shè)備名中,磁盤(pán)編號(hào)從0開(kāi)始計(jì)數(shù),而分區(qū)編號(hào)則從1開(kāi)始計(jì)數(shù)——是啊,這真是突然令人困惑。例如,(hd3,6)是指第四磁盤(pán)上的第六分區(qū)。
你可以使用fdisk -l命令來(lái)查看該信息。在Ubuntu上,打開(kāi)終端并運(yùn)行以下命令:
sudo fdisk -l
你將看到一個(gè)Linux設(shè)備路徑列表,你可以自行將它們轉(zhuǎn)成GRUB設(shè)備名。例如,在下面的圖片中,我們可以看到有個(gè)系統(tǒng)分區(qū)是/dev/sda1——那么,對(duì)于GRUB而言,它就是(hd0,1)。
創(chuàng)建GRUB2啟動(dòng)條目
添加自定義啟動(dòng)條目的最簡(jiǎn)單的方式是編輯/etc/grub.d/40_custom腳本,該文件設(shè)計(jì)用于用戶自行添加啟動(dòng)條目。在編輯該文件后,/etc/defaults/grub文件和/etc/grub.d/腳本的內(nèi)容將合成創(chuàng)建/boot/grub/grub.cfg文件——你不應(yīng)該手工編輯這個(gè)文件。它被設(shè)計(jì)為通過(guò)你在另外的文件中指定的設(shè)置自動(dòng)生成。
你需要以root特權(quán)打開(kāi)/etc/grub.d/40_custom文件來(lái)編輯。在Ubuntu上,你可以通過(guò)打開(kāi)終端窗口,并運(yùn)行以下命令來(lái)完成:
sudo gedit /etc/grub.d/40_custom
放輕松點(diǎn),你可以用你喜愛(ài)的文本編輯打開(kāi)該文件。例如,你可以替換命令中“gedit”為“nano”,在Nano文本編輯器中打開(kāi)它。
除非你已經(jīng)添加了其它自定義啟動(dòng)條目,否則你應(yīng)當(dāng)看到的是一個(gè)幾乎空的文件。你需要在注釋行下添加一個(gè)或多個(gè)ISO啟動(dòng)部分。
這里為你展示了怎樣來(lái)從ISO文件啟動(dòng)Ubuntu或基于Ubuntu的發(fā)行版,我們?cè)赨buntu 14.04下作了測(cè)試:
menuentry “Ubuntu 14.04 ISO”{
set isofile=“/home/name/Downloads/ubuntu-14.04.1-desktop-amd64.iso”
loopback loop (hd0,1)$isofile
linux (loop)/casper/vmlinuz.efi boot=casper iso-scan/filename=${isofile} quiet splash
initrd (loop)/casper/initrd.lz
}
自定義啟動(dòng)條目以包含你期望的菜單的條目名稱,并指定計(jì)算機(jī)上該ISO文件的正確路徑,以及包含ISO文件的硬盤(pán)和分區(qū)設(shè)備名。如果vmlinuz和initrd文件的名稱或路徑不同,請(qǐng)為這些文件指定正確的路徑。
(如果你的/home/ 目錄是一個(gè)分區(qū),請(qǐng)忽略/home部分,像這樣:set isofile=“/name/Downloads/${isoname}”)。
重要說(shuō)明:不同的Linux版本要求帶有不同啟動(dòng)選項(xiàng)的不同的啟動(dòng)條目,GRUB Live ISO多啟動(dòng)項(xiàng)目提供了用于不同Linux發(fā)行版的菜單條目的各種不同類型。你應(yīng)當(dāng)為你想要啟動(dòng)的ISO文件調(diào)整這些示例菜單條目。你也可以僅僅從網(wǎng)頁(yè)搜索你想要啟動(dòng)的Linux發(fā)行版的名稱和發(fā)行編號(hào),并附帶關(guān)鍵詞“在GRUB中從ISO啟動(dòng)”,以獲取更多信息。
如果你想要添加更多ISO啟動(dòng)選項(xiàng),請(qǐng)為該文件添加額外部分。
完成后保存文件,返回終端窗口并運(yùn)行以下命令:
sudo update-grub
再次啟動(dòng)計(jì)算機(jī)時(shí),你將看到ISO啟動(dòng)條目,你可以選擇它來(lái)啟動(dòng)ISO文件。在啟動(dòng)時(shí),你可能需要按Shift鍵來(lái)顯示GRUB菜單。
如果在嘗試啟動(dòng)ISO文件時(shí)你看見(jiàn)錯(cuò)誤信息或黑屏,那么你的啟動(dòng)條目配置肯定配置錯(cuò)誤了。即使ISO文件路徑和設(shè)備名是正確的,ISO文件上的vmlinuz和initrd文件的路徑可能是不正確的,或者你啟動(dòng)Linux系統(tǒng)可能需要不同的選項(xiàng)。
上面就是從硬盤(pán)啟動(dòng)Linux ISO鏡像文件的方法介紹了,需要注意的是,不同版本的Linux啟動(dòng)項(xiàng)目不同,你要先了解你的Linux系統(tǒng)相關(guān)的啟動(dòng)項(xiàng)目信息。