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