幾天前就想要用Debian替換掉Ubuntu,結果,由于自己剛裝的win7,不知道win7在安裝的時候“偷偷”建了一個100M的隐藏分區,一直無法通過硬碟安裝。雖然已經刻了盤,但心裡不爽,特在虛拟機上折騰了幾天,終于弄明白了-_- 自己裝好系統後,記錄一下慶祝學習過程,也希望有這方面打算的朋友不要走小生的彎路。
由于機器上不一定是雙系統,就順帶把機器上隻有Windows的情況也說一下吧。
本文共分為三個部分如下:
1>在windows系統下從硬碟安裝Ubuntu的方法
2>在windows系統下從硬碟安裝Debian的方法
3>在Ubuntu系統下從硬碟安裝Debian的方法
小生系初學者,如有錯誤,懇請路過高手指正,謝謝^_^
**********************************************************倔強滴分割線****************************************************************
說一下準備工作:
1.機器至少裝上Win7。這個不多說了吧,Win7硬碟安裝很快很傻瓜

,當然,裝了XP的朋友更簡單了。
2.下載下傳grub4dos(想從Windows下安裝的朋友必須的,但是如果機器上有Ubuntu并且想要從Ubuntu下安裝的朋友就不用下了),貌似目前最新的版本是0.4.4。可以從此處下載下傳: thunder://QUFodHRwOi8vNjEuMTYzLjkyLjE2Nzo4Mi9kb3duL2dydWI0ZG9zLTAuNC40LTIwMDktMDEtMTEuemlwWlo=
3.有一個fat32的分區,當然有ext3更好。下文中如未特殊說明,Windows下鏡像檔案所放的分區類型最好是fat32。(在這裡有一點要說明的是,不太确定新版本的grub是否能引導ntfs分區上的鏡像檔案,是以保守點推薦使用fat32和ext3,但是使用fat32的話無法使用DVD鏡像檔案,确實很糾結。雖然在下面的例子中我的引導分區格式都是ntfs格式,但是能夠成功從ntfs分區上引導的原因很可能是在ext3分區中也有鏡像檔案存放,這一點請參見最後的總結說明,有想要賭一下的朋友随意喽~)
**********************************************************倔強滴分割線****************************************************************
一、在windows下,從硬碟安裝Ubuntu的方法。
大前提:下載下傳你想要安裝的版本的鏡像檔案,這裡使用的是Ubuntu 9.10:
Ubuntu 9.10:ubuntu-9.10-desktop-i386.iso
可以從此處下載下傳: http://cn.archive.ubuntu.com/ubuntu-releases/9.10/ubuntu-9.10-desktop-i386.iso
1. 将grub4dos下的grldr、grldr.mbr和menu.lst解壓出來,其它的可以扔了。然後,分兩種情況:
1>Win7的系統:如果在裝系統的過程中建立了100M的隐藏分區的話(沒有這100M隐藏分區的同學直接看第2種情況,同XP),在 控制台->管理者工具->計算機管理->磁盤管理 中,選中100M隐藏分區,右擊->更改驅動器盤符和路徑,如 圖-1 。然後在彈出的對話框裡按照 圖-2 所示進行操作,盤符可以自己選擇。确定後在我的電腦裡就可以看到這個分區。自己建立立一個boot.ini的檔案,然後将boot.ini和grub4dos裡的那三個檔案全都放到這個隐藏分區中。(轉第2步)
圖 2
2>XP的系統:自己建立立一個boot.ini的檔案,然後将boot.ini和grub4dos裡的那三個檔案全都扔到C槽根目錄下(即C:/)。
2. 修改boot.ini檔案,如下:
[boot loader]
[operating systems]
C:/grldr.mbr="Ubuntu 9.10 "
然後儲存。
//***************************************************************注釋開始*************************************************************
注意,紅色部分的内容是随意的,這裡這樣寫主要是因為我首先裝的Ubuntu的版本是9.10的。但實際上這裡随便寫什麼都可以。
//***************************************************************注釋結束*************************************************************
3. 修改menu.lst檔案,原檔案中的内容直接清空,添加内容如下:
title Install Ubuntu
root (hd0,0)
kernel /vmlinuz boot=casper iso-scan/filename=/ubuntu-9.10-desktop-i386.iso ro quiet splash locale=zh_CN.UTF-8
initrd /initrd.lz
然後儲存。
//***************************************************************注釋開始*************************************************************
注意:
1>上面的内容裡的root一欄的紅色部分:Win7下有隐藏的100M分區的應該使用(hd0,1);Win7下沒有隐藏的100M分區和XP的情況下使用(hd0,0)。
2>上面的内容裡的kernel部分:其中紅色部分請自己改成你的鏡像檔案的名稱;而後面的藍色部分可加可不加,看安裝過程有沒有問題喽,一般加上更保險。
3>Ubuntu 以往的版本裡使用的都是initrd.gz,而Ubuntu 9.10開始使用的是initrd.lz,這點需要注意一下,請根據自己所使用的系統版本自行修改。
//***************************************************************注釋結束*************************************************************
4. 這一步隻限于Win7下有100M隐藏分區的朋友:将隐藏分區的盤符去掉,不然會出現無法引導的現象。方法和添加盤符的方法相反,在彈出的對話框中選中100M隐藏分區的盤符,直接點 移除 即可。
5. 将Ubuntu鏡像檔案使用rar或虛拟光驅打開,将casper檔案夾中的vmlinuz和initrd.lz(或initrd.gz)拷貝出來,然後将這兩個檔案和鏡像檔案拷貝到同一根目錄下,當然拷貝到C槽的根目錄下最友善不過。如果不是C槽的根目錄,第3步中的root中的紅色部分将會有所變化。請通過第1步中 管理磁盤工具 看一下硬碟上的分區情況,簡單的說就是:将主分區從左向右從0開始逐漸加1(這裡忽略邏輯分區),而邏輯分區從最左邊的邏輯分區向右從3開始逐漸加1(這裡忽略主分區)。然後根據檔案放置的位置,将root部分的紅色部分的第二個"0"改成對應的數字。如,檔案放置在了第3個主分區上,則改成 (hd0,2)。
6.重新開機->Ubuntu 9.10->Install Ubuntu ,成功引導後就像使用CD光牒安裝時一樣了。
//***************************************************************注釋開始*************************************************************
這裡順便提一下grub4dos的使用問題:如果按照上面的方法,檔案路徑沒有放置錯而沒有成功啟動:
1>如果你沒看到Ubuntu 9.10(如 圖-3 )這個畫面而是直接進入Windows系統啟動過程,請檢查下你的boot.ini是否寫錯或者是否有檔案放置在錯誤的路徑下。
圖 3
2>如果能看到Install Ubuntu這一選項(如 圖-4 ),然後提示啟動錯誤,估計就是menu.lst出了問題,當然,
圖 4
一般也就是這裡會出問題了。此時很可能看到的錯誤資訊是:Error 15 file not found。如果你不想反複重新開機到Windows下去修改menu.lst檔案的話,就得自己敲指令喽。最簡單的辦法就是試(沒關系,不會對你的機器有什麼影響):例如你記得檔案放置在第2個分區中(Win7中有隐藏分區的算上隐藏分區),将2減1等于1,那麼在Install Ubuntu的這個選項界面(或出錯提示界面)按一下"c"進入指令行狀态,這時螢幕上會出現grub指令提示符(如 圖-5 )。在指令提示符下面手動輸入 root (hd0,1) 回車。grub會将啟動路徑切換到對應分區根目錄下,指令執行成功的時界面将顯示該分區的檔案類型(如 圖-6 )。然後将menu.lis檔案中kernel和initrd指令也手動輸入,如果檔案存
圖 5
圖 6
圖 7
在的話,将會有提示資訊(如 圖-7 )。這三步中任意一條提示出錯的話,則重新估計你的檔案所存放的分區的可能的标号并更換root指令中(hd0,0)的最後一個數字。當然,這個數字不需要一直試下去,超過6以後可以說基本就沒意義了(你不會把windows分超過7個盤吧)。那就去檢查前面幾步的設定吧。如果上面三步都沒有問題,恭喜你,你可以輸入 boot ,然後回車就可以了。這時就開始引導Ubuntu了。
//***************************************************************注釋結束*************************************************************
7.在成功引導後,等一下進入的是Ubuntu的圖形化安裝界面(如 圖-8 )。首先打開終端,輸入mount 回車,看是否有挂載在 /isodevice 的分區,如 圖-8 中紅色圈出來的地方所示。然後執行指令 sudo umount -l /isodevice 将挂載在 /isodevice 的分區解除安裝掉,不然後續安裝會有問題。解除安裝完後輕按兩下桌面上的安裝Ubuntu 9.10的圖示開始安裝(廢話了)。
圖 8
**********************************************************倔強滴分割線****************************************************************
二、在Windows下,從硬碟安裝Debian的方法。
大前提:下載下傳你想要使用的版本的鏡像檔案,這裡使用的是Debian 504
Debian 504 :debian-504-i386-CD-1.iso
可以從此處下載下傳: http://cdimage.debian.org/debian-cd/5.0.4/i386/iso-cd/debian-504-i386-CD-1.iso
此外,雖然鏡像檔案中的install.386檔案夾中也有vmlinuz和initrd.gz,但是這兩個檔案是為從CD光牒引導準備的,是以還需要另外下載下傳這兩個檔案的用于從硬碟引導的版本(-_-好麻煩)。即:
硬碟版: vmlinuz 和 initrd.gz。可此從此處下載下傳:http://mirrors.163.com/debian/dists/Debian5.0.4/main/installer-i386/current/images/hd-media/
在Windows下從硬碟安裝Debian的步驟同在Windows下從硬碟安裝Ubuntu的方法基本相同,隻有兩個地方稍有差別。其中一個如上所說:vmlinuz和initrd.gz需要另行下載下傳;另一個差別是:修改menu.lst中的内容為(假設鏡像和另外兩個檔案放在第三個分區上):
title Install Debian
root (hd0,2)
kernel /vmlinuz
initrd /initrd.gz
然後儲存,重新開機。(比Ubuntu的menu.lst裡的内容簡單多了,主要是另行下載下傳的那兩個小檔案的功勞
)
//***************************************************************注釋開始*************************************************************
如果出現無法引導的問題,解決方法同裝Ubuntu時的一樣,差別在于敲入的指令對應于裝Debian時menu.lst裡的内容。例如:我的Debian鏡像放在了第三個分區,我的grub指令如 圖-9 所示。最後别忘了輸入 boot 回車。
圖 9
//***************************************************************注釋結束*************************************************************
**********************************************************倔強滴分割線****************************************************************
三、在Ubuntu下,從硬碟安裝Debian的方法。
可以從此處下載下傳: http://cdimage.debian.org/debian-cd/5.0.4/i386/iso-cd/debian-504-i386-CD-1.iso
同在Windows下從硬碟安裝Debian一樣,vmlinuz和initrd.gz也必須是支援硬碟安裝的對應版本。可此從此處下載下傳:http://mirrors.163.com/debian/dists/Debian5.0.4/main/installer-i386/current/images/hd-media/
1.可以将以上三個檔案放置在Windows分區下,也可以放置在Ubuntu分區下。
2.在Ubuntu下檔案的放置位置似乎沒有特别規定,我隻對3個位置(/ , /boot/ , /boot/ubuntu/ )測試過,按理說任何位置都可以,隻要引導時給出絕對路徑即可。
3.引導的時候:
1>可以采用Windows下的grub4dos來引導,這樣的話,同第二部分将的做法是一樣的,這裡就不多啰嗦了。
2>采用Ubuntu下的grub引導來引導,本來和從Windows下一樣很容易,但乍一使用9.10才發現,grub的版本更新了,grub檔案夾下沒有menu.lst檔案。由于在grub下面沒有找到menu.lst,一時間不知道如何去更改啟動菜單,隻好使用笨方法——grub指令行,慚愧。是以這裡主要介紹一下使用Ubuntu 9.10的grub的指令行來引導鏡像檔案從硬碟進行安裝Debian的方法。圖-10 給出的是9.10所使用的grub的界面,版本是1.97的,竟是beta版的!
大前提:下載下傳你想要使用的版本的鏡像檔案,這裡使用的是Debian 504
Debian 504 :debian-504-i386-CD-1.iso
圖 11
不過這種非dos下的grub會很明顯的告訴你Ubuntu的啟動檔案所在的分區,如上圖中第5行的 root=(hd0,3) 所示,啟動分區在第3分區(注意,Ubuntu9.10所使用的這個版本的grub和以前的另一個不同之處是,分區辨別不再從0開始,而是從1開始)。看過這個之後,再加上第二部分所提到的硬碟安裝Debian的方法,很容易知道使用什麼指令來引導了(假設鏡像檔案和vmlinuz以及initrd.gz都放在第3分區的根目錄下):
root (hd0,3)
linux /vmlinuz
initrd /initrd.gz
boot
就是這麼簡單。需要注意的是,Ubuntu下的grub需要按Ctrl+c的組合鍵進入指令行模式。我的檔案是放在Win7的C槽下的,含有隐藏分區,我的指令如 圖-12 所示:
*********************************************************倔強滴分割線****************************************************************
四、這裡簡單的提一下從U盤安裝的情況:
實際上和從硬碟安裝時一種方式,隻是将啟動路徑裡的辨別更改一下,假設機器上隻有一塊硬碟,隻插上一個U盤的情況下,如果檔案都放在了第一個分區上,那麼從硬碟和從U盤引導的主要差别如下:
從硬碟: root (hd0,0)
從U盤: root (hd1,0)
這一次更改的是前面的一位數字。 其他引導部分和前面所介紹的完全一樣。是以如果硬碟上如果沒有空間用來格式成fat32或者ext3的分區用于存放鏡像檔案的話,可以找個U盤替代。
**********************************************************倔強滴分割線****************************************************************
以下是兩個自己注意到的問題,有看到并且有不同觀點的朋友希望能提出來,敬請賜教:
1.Grub不能識别Windows的ntfs分區,進而無法引導在ntfs分區上的安裝。但是安裝Debian的過程中,似乎隻要有一個fat32或者ext3的分區根目錄下存放了鏡像檔案,那麼可以講vmlinuz和initrd.gz放在ntfs的分區中引導,引導後系統安裝程式會自動掃描整個磁盤上所有的分區并查找鏡像檔案進行安裝。
2.在Ubuntu 下可以将鏡像檔案放置在根目錄(即 / )下并從grub引導安裝Debian系統,Debian系統覆寫原Ubuntu系統,沒有問題。但是在Debian系統下,将想要安裝的系統的鏡像檔案放置在根目錄下,如果這一新安裝的系統會覆寫原Debian系統,那麼在分區格式化的過程中無法通過。
3.另外,在不同的grub版本下,有兩個比較有用的指令可以試試,不同的版本支援的程度可能不同。
1>find --set-root /vmlinuz 這條指令可以幫你找到包含這個檔案的分區
2>fdisk -l 這條指令可以檢視當然磁盤分區狀态,友善引導分區挂載
轉自:http://blog.163.com/sd-zz-sunhua/blog/static/1325444632010216113647879/
圖10
看一下編輯選項,如 圖-11 ,很明顯和前面的grub指令方式有所不同。其中引導核心的第二步不再使用"kernel"指令,而是改成了 "linux"。
圖11
不過這種非dos下的grub會很明顯的告訴你Ubuntu的啟動檔案所在的分區,如上圖中第5行的 root=(hd0,3) 所示,啟動分區在第3分區(注意,Ubuntu9.10所使用的這個版本的grub和以前的另一個不同之處是,分區辨別不再從0開始,而是從1開始)。看過這個之後,再加上第二部分所提到的硬碟安裝Debian的方法,很容易知道使用什麼指令來引導了(假設鏡像檔案和vmlinuz以及initrd.gz都放在第3分區的根目錄下):
root (hd0,3)
linux /vmlinuz
initrd /initrd.gz
boot
就是這麼簡單。需要注意的是,Ubuntu下的grub需要按Ctrl+c的組合鍵進入指令行模式。我的檔案是放在Win7的C槽下的,含有隐藏分區,我的指令如 圖-12 所示:
圖12
*********************************************************倔強滴分割線****************************************************************
四、這裡簡單的提一下從U盤安裝的情況:
實際上和從硬碟安裝時一種方式,隻是将啟動路徑裡的辨別更改一下,假設機器上隻有一塊硬碟,隻插上一個U盤的情況下,如果檔案都放在了第一個分區上,那麼從硬碟和從U盤引導的主要差别如下:
從硬碟: root (hd0,0)
從U盤: root (hd1,0)
這一次更改的是前面的一位數字。 其他引導部分和前面所介紹的完全一樣。是以如果硬碟上如果沒有空間用來格式成fat32或者ext3的分區用于存放鏡像檔案的話,可以找個U盤替代。
**********************************************************倔強滴分割線****************************************************************
以下是兩個自己注意到的問題,有看到并且有不同觀點的朋友希望能提出來,敬請賜教:
1.Grub不能識别Windows的ntfs分區,進而無法引導在ntfs分區上的安裝。但是安裝Debian的過程中,似乎隻要有一個fat32或者ext3的分區根目錄下存放了鏡像檔案,那麼可以講vmlinuz和initrd.gz放在ntfs的分區中引導,引導後系統安裝程式會自動掃描整個磁盤上所有的分區并查找鏡像檔案進行安裝。
2.在Ubuntu 下可以将鏡像檔案放置在根目錄(即 / )下并從grub引導安裝Debian系統,Debian系統覆寫原Ubuntu系統,沒有問題。但是在Debian系統下,将想要安裝的系統的鏡像檔案放置在根目錄下,如果這一新安裝的系統會覆寫原Debian系統,那麼在分區格式化的過程中無法通過。
3.另外,在不同的grub版本下,有兩個比較有用的指令可以試試,不同的版本支援的程度可能不同。
1>find --set-root /vmlinuz 這條指令可以幫你找到包含這個檔案的分區
2>fdisk -l 這條指令可以檢視當然磁盤分區狀态,友善引導分區挂載
轉自:http://blog.163.com/sd-zz-sunhua/blog/static/1325444632010216113647879/