UUID解决多硬盘安装Linux后无法启动« 知攸– 200%

相信很多人都遇到过,当你机箱里塞了不止一个硬盘时,安装完Linux后,重启时,却提示分区格式不对无法启动Linux。仔细分析后,发现是安装镜像和本地Linux引导对多个硬盘的识别次序不一致导至的。比如你安装的时候,可能是安装到了sda硬盘,但本地Linux引导却把这个硬盘识别为sdb、sdc等等。

经常捣鼓Linux的人一定知道fstab这个文件,它负责本地计算机上各种存储介质的加载工作。Linux启动时,也要靠它来加载分区。用管理员权限运行下面这个命令:

看到的应该类似下面这样:

  1. #
  2. # /etc/fstab: static file system information
  3. #
  4. #
  5. devpts                 /dev/pts      devpts    defaults            0      0
  6. shm                    /dev/shm      tmpfs     nodev,nosuid        0      0
  7.  
  8. /dev/cdrom             /media/cd   auto    ro,user,noauto,unhide   0      0
  9. /dev/dvd               /media/dvd  auto    ro,user,noauto,unhide   0      0
  10. #/dev/fd0               /media/fl   auto    user,noauto             0      0
  11.  
  12. /dev/sda1 /boot  ext2 defaults     0      1
  13. /dev/sda2 /      ext4 defaults     0      1
  14. /dev/sda3 swap   swap defaults     0      0
  15. /dev/sda4 /home  ext4 defaults     0      1

{zh1}面这四行,就是你的Linux启动时所要加载的信息。而由于我们机箱里不止一块硬盘,所以,可能sda并不是我们安装了Linux的那个盘。这时,只要把{zh1}四行的sda改为sdb或者sdc,一般就能正常启动了。但是,如果你以后又增加了新硬盘,或者有其它变动,又可能启动不了。那么这时,我们的UUID就派上用场了。关于UUID我就不多做解释了,网上一抓一大把的信息。(btw:要想玩转Linux,没个网络可怎么是好!)

首先,我们需要取得我们安装Linux的硬盘各分区的UUID,有多种方式,我这里就只介绍一种:

看到的信息,应该像下面这样:

  1. lrwxrwxrwx 1 root root 10 May 16 11:13 42b14236-cb20-478c-baca-a04162e3528f -> ../../sda2
  2. lrwxrwxrwx 1 root root 10 May 16 11:13 a18343ac-743b-488f-9364-64b823d63c1c -> ../../sda1
  3. lrwxrwxrwx 1 root root 10 May 16 11:13 a2b5127c-2596-4724-b122-94e4cfd8c0d5 -> ../../sda3
  4. lrwxrwxrwx 1 root root 10 May 16 11:13 daa336e8-7124-468e-9f6d-ac8fdf629edf -> ../../sda4

嗯,你可以看到,次序不一定是12345,但是UUID却是显示出来了。如42b14236-cb20-478c-baca-a04162e3528f表示的是sda2的UUID。那么,我们只需修改一下我们的fstab,用UUID来加载分区,就可以保证无论何时Linux都能正常加载到所需分区。

  1. #
  2. # /etc/fstab: static file system information
  3. #
  4. # <file system>        <dir>         <type>    <options>          <dump> <pass>
  5. devpts                 /dev/pts      devpts    defaults            0      0
  6. shm                    /dev/shm      tmpfs     nodev,nosuid        0      0
  7.  
  8. /dev/cdrom             /media/cd   auto    ro,user,noauto,unhide   0      0
  9. /dev/dvd               /media/dvd  auto    ro,user,noauto,unhide   0      0
  10. #/dev/fd0               /media/fl   auto    user,noauto             0      0
  11.  
  12. UUID=a18343ac-743b-488f-9364-64b823d63c1c /boot  ext2 defaults     0      1
  13. UUID=42b14236-cb20-478c-baca-a04162e3528f /      ext4 defaults     0      1
  14. UUID=a2b5127c-2596-4724-b122-94e4cfd8c0d5 swap   swap defaults     0      0
  15. UUID=daa336e8-7124-468e-9f6d-ac8fdf629edf /home  ext4 defaults     0      1

当然,上面这个是我自己的fstab,可不要全部照抄:)

(本文由知攸网原创,转载请保留此信息。http://blog.zo200.com/2010/05/16/244.html)

郑重声明:资讯 【UUID解决多硬盘安装Linux后无法启动« 知攸– 200%】由 发布,版权归原作者及其所在单位,其原创性以及文中陈述文字和内容未经(企业库qiyeku.com)证实,请读者仅作参考,并请自行核实相关内容。若本文有侵犯到您的版权, 请你提供相关证明及申请并与我们联系(qiyeku # qq.com)或【在线投诉】,我们审核后将会尽快处理。
—— 相关资讯 ——