以下の所を参考にさせて頂きました。
http://plamo.linet.gr.jp/wiki/index.php?diary%2FKojima%2F2014-04-07
http://wiki.gentoo.org/wiki/GRUB
http://www.linux-archive.org/gentoo-user/481167-mounting-root-partition-uuid-no-initrd-needed.html
http://lxr.linux.no/#linux+v3.8/init/do_mounts.c#L190
にゃんたろうは Disk identifier と いうのは 少なくとも 同じになる 事は まあ まれであろうと考えていましたが 計算機に 2個 の USB を 挿入した場合 以下の 様な 場合がありました。
# fdisk -l | grep "Disk identifier" Disk identifier: 0xdba28bf3 Disk identifier: 0xc3072e18 /* USB メモリ */ Disk identifier: 0xc3072e18 /* USB メモリ */ # dmesg | grep usb ... /* メーカ とか 製品 番号 等は 異なっている */ [ 175.816675] usb 1-5: new high-speed USB device number 6 using ehci-pci [ 175.945541] usb 1-5: New USB device found, idVendor=0718, idProduct=0688 [ 175.945546] usb 1-5: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 175.945549] usb 1-5: Product: USB Device [ 175.945551] usb 1-5: Manufacturer: Imation [ 175.945554] usb 1-5: SerialNumber: 070724C51F443627 ... [ 211.793336] usb 1-6: new high-speed USB device number 7 using ehci-pci [ 211.921903] usb 1-6: New USB device found, idVendor=056e, idProduct=6007 [ 211.921907] usb 1-6: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 211.921910] usb 1-6: Product: MF-HSU2 [ 211.921912] usb 1-6: Manufacturer: ELECOM [ 211.921915] usb 1-6: SerialNumber: 070824A0D137D151 ... # cat /var/log/messages .... /* メーカ とか 製品 番号 等は 異なっている */ May 13 13:12:22 p6090j kernel: usb 1-5: New USB device found, \ idVendor=0718, idProduct=0688 May 13 13:12:22 p6090j kernel: usb 1-5: New USB device strings: \ Mfr=1, Product=2, SerialNumber=3 May 13 13:12:22 p6090j kernel: usb 1-5: Product: USB Device May 13 13:12:22 p6090j kernel: usb 1-5: Manufacturer: Imation May 13 13:12:22 p6090j kernel: usb 1-5: SerialNumber: 070724C51F443627 ..... May 13 13:12:58 p6090j kernel: usb 1-6: New USB device found, \ idVendor=056e, idProduct=6007 May 13 13:12:58 p6090j kernel: usb 1-6: New USB device strings: \ Mfr=1, Product=2, SerialNumber=3 May 13 13:12:58 p6090j kernel: usb 1-6: Product: MF-HSU2 May 13 13:12:58 p6090j kernel: usb 1-6: Manufacturer: ELECOM May 13 13:12:58 p6090j kernel: usb 1-6: SerialNumber: 070824A0D137D151 ... # mkdir sdb2 # mkdir sdg2 # mount /dev/sdb2 sdb2 # mount /dev/sdg2 sdg2 # df | sed 2,5d Filesystem 1K-blocks Used Available Use% Mounted on /dev/sdb2 14615372 11819812 2053140 86% /root/sdb2 /dev/sdg2 14097432 3744660 9636656 28% /root/sdg2 # ls sdb2 bin/ cdrom/ etc/ lib/ media/ opt/ root/ sbin/ sys/ usr/ boot/ dev/ home/ lost+found/ mnt/ proc/ run/ srv/ tmp/ var/ # ls sdg2 P_Plamo_backup_cpio.gz isolinux/ # ls sdg2/isolinux/ System.map vmlinuz w-ver-03-OK-initrd.gz System.map-3.12.5-p52-usb vmlinuz-3.12.5-p52-usb w-ver-04-OUT-initrd.gz initrd.gz w-ver-01-OK-initrd.gz w-vv03-OK-initrd.gz rootimg.squash w-ver-02-OK-initrd.gz # umount sdg2 # umount sdb2 # mv sdb2/ sdb1 # mv sdg2 sdg1 # mount /dev/sdb1 sdb1/ # mount /dev/sdg1 sdg1/ # df | sed 2,5d Filesystem 1K-blocks Used Available Use% Mounted on /dev/sdb1 69776 5827 60346 9% /root/sdb1 /dev/sdg1 56369 5673 47785 11% /root/sdg1 # ls sdb1/boot/grub/ 001_org-cp-grub.conf grub.conf minix_stage1_5 ufs2_stage1_5 device.map grubimg.xpm.gz reiserfs_stage1_5 vstafs_stage1_5 e2fs_stage1_5 iso9660_stage1_5 stage1 xfs_stage1_5 fat_stage1_5 jfs_stage1_5 stage2 ffs_stage1_5 menu.lst@ stage2_eltorito # ls sdg1/boot/grub/ 001_org-cp-grub.conf fat_stage1_5 memu.lst@ ufs2_stage1_5 002_try-grub.conf ffs_stage1_5 minix_stage1_5 vstafs_stage1_5 003_OK-grub.conf grub.conf reiserfs_stage1_5 xfs_stage1_5 004_OUT-grub.conf grubimg.xpm.gz stage1 device.map iso9660_stage1_5 stage2 e2fs_stage1_5 jfs_stage1_5 stage2_eltorito # cat sdb1/boot/grub/grub.conf | head -15 | tail -7 title Plamo-5.2 (391359d1-2093-4ea7-ba5b-b29c334a2906) USB root (hd0,1) kernel /boot/vmlinuz root=PARTUUID=c3072e18-02 ro vt.default_utf8=0 vga16 unicon=eucjp rootdelay=12 title Plamo-4.7 (sdb1) 5 xw4600 Q9650 4CPU root (hd2,0) # cat sdg1/boot/grub/grub.conf | head -15 | tail -7 title Plalmo 5.2 (USB) ELECOM MF-HSU2 15.5 GB root (hd0,1) kernel /isolinux/vmlinuz rootdelay=12 ramdisk_size=6000 root=/dev/ram0 rw vga16 unicon=eucjp vt.default_utf8=0 panic_output=7 init=/init initrd /isolinux/initrd.gz # umount sdb1 # umount sdg1 # fdisk -l /dev/sdb Disk /dev/sdb: 16.0 GB, 16013852672 bytes, 31277056 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk label type: dos Disk identifier: 0xc3072e18 Device Boot Start End Blocks Id System /dev/sdb1 * 14 144143 72065 83 Linux /dev/sdb2 144144 29841083 14848470 83 Linux /dev/sdb3 29841084 31275971 717444 82 Linux swap / Solaris # fdisk -l /dev/sdg Disk /dev/sdg: 15.5 GB, 15504900096 bytes, 30283008 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk label type: dos Disk identifier: 0xc3072e18 Device Boot Start End Blocks Id System /dev/sdg1 * 43 116486 58222 83 Linux /dev/sdg2 116487 28761194 14322354 83 Linux /dev/sdg3 28761195 30282921 760863+ 82 Linux swap / Solaris
まあ こういう事です。
root=PARTUUID=c3072e18-02
に する事 で 少なくとも にゃんたろうが 生きている間は 同じ番号 が 生じる とは ♪おとみさん♪ 状態です。
良く考えれば ハードディスクの 入れ換えた時も hda hdb が 云々 なのでしょうが 通常滅多に ハードディスクの 入れ換えは 行わない ので 気にしていなかった が まあ USB の 場合は かなりの 確立で 発生 する 場合が 有る事を 頭の隅に 置いておく方が 良いようです。
以下は USB ディスク を 調べた メモ からの抜粋です。
# cat note-2014051* | grep "Disk identifier" Disk identifier: 0xc3072e18 Disk identifier: 0x12a92bb9 Disk identifier: 0xc3072e18 Disk identifier: 0x000d81aa Disk identifier: 0x5bbb80c4 Disk identifier: 0x00000000 Disk identifier: 0xbe9aef20 Disk identifier: 0xc3072e18
にゃんたろう 拝!
2014年 3月 15日 土曜日 23:18:51 JST 作成