Linux/BSD下修正磁盘的顺序编号(/dev/sdbX)

别跟我说用UUID不用/dev/sdbX,UUID太长了!

简单讲一下具体情况,假设你现在新建一个分区在磁盘后面的区块,它的编号就应该是/dev/sdb1(假定是Primary分区,或者/dev/sda1什么的取决于第几个磁盘),好了,前面留下来的空白区域再建一个分区,结果区块前面的是/dev/sdb2,后面的反倒是/dev/sdb1了!!!强迫症患者不能忍!!!就像Windows下C、D、E、F盘错位变成了D、C、E、F一样不能忍啊!

解决办法很easy,借助fdisk这个强大的命令,各个BSD/Linux发行版都有的放心。以Fedora为例,终端下执行:

su -c 'fdisk /dev/sdb'
x
f
w

x、f、w是进入fdisk后执行的指令,x是进入专家模式,f是修正磁盘序号,w写入分区信息并退出fdisk,别弄错了。最好不要在已经挂载的磁盘上执行,所以如果你要这样修改你的机器硬盘的话,建议从LiveCD启动来修正。

好了,强迫症患者心情舒畅了,/dev/sdb1和/dev/sdb2都领到了该有的位置。

P.S. 正因为这个序号容易变动,所以GRUB/GRUB2的配置文件中的分区强烈建议使用UUID而不是/dev/sdbX来表征!

Comments

5 responses to “Linux/BSD下修正磁盘的顺序编号(/dev/sdbX)”

  1. oldherl avatar
    oldherl

    明显应该用label啊……

    1. librehat avatar
      librehat

      Linux下一半磁盘分区经常性不加label的吧。。。

  2. Jak Wings avatar

    进入文章前我嘴角抽了一下……看到最后一句时我又抽了一下……

    1. librehat avatar
      librehat

      其实……我的意思是偶尔用mount或者其它指令操作分区的时候,输入UUID显得太长了,不方便,但是写在grub配置文件里就无所谓了啊。

      1. Jak Wings avatar

        (-_- ||) {话说平时 mount 也不必输 UUID 吧,fstab 也是 N 久才动一次的东东)
        好吧,我只是被第一句加上最后一句雷到了,囧……