GRUB中硬盤和分區編號,UUID
硬盤編號:
首先,如果你是單硬盤的話,不用想了,只會是hd0。那麼如果有兩塊或更多的硬盤呢?你可以這樣:在開機檢測出現BIOS畫面時,等到全部硬盤的數據出現時,立即按下“Pause”鍵(我的位於“Page Up”鍵的上方),這時啟動過程會暫停,然後仔細看看吧。比如我有四塊硬盤————兩塊IDE的,分別是40G、160G,還有兩塊SATA的,分別是80G和320G。BIOS檢測順序是這樣:IDE40,IDE160,SATA320,SATA80,所以GRUB表示為:IDE40(hd0),IDE160(hd1),SATA320(hd2),SATA80(hd3),就這樣啦,趕快記下吧!
注意:這裡有一個變數:啟動盤順序。
還是上面的例子,因為我的GRUB安裝在SATA320的MBR,並且平時就是用這塊硬盤啟動電腦,所以這時候SATA320中的GRUB認為我的硬盤應該這樣編號:SATA320(hd0),IDE40(hd1),IDE160(hd2),SATA80(hd3)。
呵呵,明白了吧!GRUB編號的原則是這樣的:
1.多快硬盤的順序完全照抄BIOS檢測結果;
2.啟動盤一定是hd0(不管BIOS如何),其他硬盤依次按BIOS檢測結果重排。
3.不管IDE還是SATA,一律認作IDE硬盤!即不使用類似(sd0,0)這樣的編號,這個和linux的方式不同!
分區編號:
大家知道同一塊硬盤最多只能共存四個主分區,所以對於hd0硬盤,依次是(hd0,0)、(hd0,1)、(hd0,2)、(hd0,3),這是只分出四個主分區的情況,這個編號永遠固定不變;
不過這樣的話,你就無法使用更多的分區了,所以通常應該犧牲掉一個主分區(通常是最後一個)把它轉換為擴展分區(extend),以便在其中再細分出更多的邏輯分區(logic,注意和賣鼠標那個公司沒關系啊)。【 Linux公社 www.Linuxidc.com 】
擴展分區可能是(hd0,0~3)其中的任何一個,這個編號永遠不會在menu.lst中被使用,原因自己想想喽。
邏輯分區一律從(hd0,4)開始編號(因為0~3被主分區占據了),依次為(hd0,4)、(hd0,5)、(hd0,6)、(hd0,7)……
ok,對於大多數人來說,兩個以上的主分區根本沒用,所以慣常的做法是————一個主分區、一個擴展分區、若干個邏輯分區。所以,慣常會使用在同一塊硬盤上的編號是:(hd0,0)、(hd0,4)、(hd0,5)、(hd0,6)……。以此類推,第二硬盤是(hd1,0)、(hd1,4)、(hd1,5)、(hd1,6)……。
題外話————linux的編號方法。
呵呵,這個簡單了,嚴格按照BIOS檢測結果,第一硬盤是sda,第二硬盤是sdb,第三硬盤是sdc……,而不管哪個是啟動盤。
具體來說,我用第三硬盤啟動的系統,GRUB認為它是(hd0),而linux依然認為它是sdc,明白?
另外,自8.04開始,所有硬盤都編號為“sdxx”,即不管IDE還是SATA,一律認作SCIS硬盤
UUID:(推薦的在fstab中指定掛載位置方式)
每個分區都需要掛載(mount)以後才能使用,包括系統根分區,家目錄,swap等等,這些是啟動時系統已經幫你搞定的,只是你不知道而已。
那麼系統是怎麼搞定的呢?通過fstab文件啊!你可以打開/etc/fstab自己看看
# /dev/sdb5
UUID=3E40C99340C95277 /home/winD ntfs-3g defaults 0 0
第一行是注釋,特征是開頭一定有一個字符“#”, 這是linux的語法格式,在其他配置文件裡也可以見到。
第二行是真正的重點,注意其中每一個空格或者Tab符號都代表一個指令串的結束,一個或連續的多個空格或者Tab符號都將被視為一個。 5個Tab把這一句分為了六個部分:
1.目標分區,常用三種方式指定
●UUID(通用唯一識別碼 Universally Unique Identifier), ls -al /dev/disk/by-uuid 可查看所有分區的UUID
●設備名稱(如“/dev/sdb1”)
●分區卷標(如“LABEL=winD”,當然。必須要存在。可以在windows資源管理器裡改)。
2. 掛載目錄,必須事先創建好。
3. 這個分區用的是什麼文件系統,如果是FAT和FAT32,就寫成“vfat”;如果是NTFS,就寫成“ntfs-3g”;或者ext3,ext4.
4.第四欄是很復雜的參數,但必不可少。好在一般應用,輸入“defaults”即默認設置即可。如果你想進行更嚴格的存取控制的話就自己研究。
5.最後兩欄也是必不可少的參數,對於win分區,就寫成“0 0”即可,
改完fstab以後 sudo mount -a即可