前段時間,一家公司的小型應(yīng)用系統(tǒng)部署在測試服務(wù)器上,服務(wù)器使用的是。 虛擬機(jī)文件是的,使用工具將其轉(zhuǎn)換為Hyper-V c盤映像,然后將其添加到新創(chuàng)建的虛擬機(jī)中。 而且明明7在 中可以正常啟動,但是卻無法存活,總是進(jìn)到 的殼里。
疾?。?span style="display:none">2qj物理好資源網(wǎng)(原物理ok網(wǎng))
[確定] 路徑。
[確定] 基本。
/dev//-root 上的文件檢查...
-fsck[288]:fsck:()而fsck. /dev//-root
[確定] /dev//-root 上的文件檢查
-[250]::無法啟動
-[250]::/dev//存在
-[250]::/dev//
-[250]::/dev//-root 確實存在
殼...
:/dev//root不存在
:/dev//交換不存在
:/dev//-root不存在
“/運(yùn)行//.txt”
cd /dev后,我ls,發(fā)現(xiàn)沒有hd或sd開頭的硬盤設(shè)備。 在網(wǎng)上百度搜索后,只發(fā)現(xiàn)一堆人問同樣的問題,但可靠的答案并不多。 所以我必須自己想辦法。
首先,Hyper-V中的虛擬光驅(qū)是掛載在SCSI控制器下的,但在Hyper-V中是手動掛載在IDE控制器下的。 于是添加了一個SCSI控制器,并在其下重新掛載了.VHDc磁盤文件。 結(jié)果連GRUB都沒有了:
啟動。 和
經(jīng)檢查虛擬系統(tǒng)轉(zhuǎn)物理機(jī),第一代Hyper-V虛擬機(jī)不支持從SCSI硬盤啟動! 暈,不過工程師還寫了一篇博客-()來解釋(jiǎo)解釋(biàn)。 只好又改回來了。
仔細(xì)一想,應(yīng)該是缺少IDE控制器驅(qū)動。 按照之前解決主板驅(qū)動與內(nèi)核自帶驅(qū)動沖突的方法,重新編譯了一下,果然可以進(jìn)入系統(tǒng)了!
加工方法:
1、使用7安裝光盤啟動,在啟動菜單中選擇->虛擬系統(tǒng)轉(zhuǎn)物理機(jī),然后按 進(jìn)入恢復(fù)命令行。
2、切換到待打補(bǔ)丁的系統(tǒng)根路徑:cd /mnt/after。
3. 備份之前的文件:
mv /boot/-$(uname-r).img /boot/-$(uname-r).img.bak
4. 重建:
-v/boot/-$(uname-r).img$(uname-r)
Linux 與 Boot 不兼容
此外, 還引入了第二代 Hyper-V 虛擬機(jī)。 這次支持從SCSI硬盤啟動。 的 John 還撰寫了 Hyper-V2 系列文章。
在新一代虛擬機(jī)中,默認(rèn)啟用Boot,并且會校準(zhǔn)數(shù)字簽名。 大多數(shù) Linux 發(fā)行版不支持此機(jī)制。 所以應(yīng)該在虛擬機(jī)設(shè)置中將其關(guān)閉,或者干脆使用第一代虛擬機(jī)(在創(chuàng)建向?qū)е羞x擇)。