リムーバブルディバイスとOS


リムーバブルディバイスは、接続時の状態により割り当てられるディバイスノードが変化してしまいます。
ある時は、/dev/sdc が割り当てられるかも知れませんし、次の機会には、/dev/sde が割り当てられるかも
知れません。この様な状態では、リムーバブルディバイスにOSをインストールすることは不可能になります。
つまり、インストール時に使用したデバイスノードが /dev/sdc であれば、OSの起動時には /dev/sdc? を
マウントしようとしますが、デバイスノードに /dev/sdc 以外が割り当てられていると、OS 本体を記録した
ディスク(リムーバブルディバイス)にアクセス出来なくなってしまうからです。
この現象を回避するために、ディスク上にユニーク(同一の値を持たない)な識別情報を記録し、識別情報
を使って、リムーバブルディバイスを管理する手段を用います。この方式を用いる事で、デバイスノード名に
依存すること無く、ディスクの管理が可能になります。
この識別情報として、ラベルや、UUID(Universally Unique IDentifier)と呼ばれるものが使用されます。
USBデバイスでは、8桁の0からFまでの値が用いられているため、十分にユニークとは言えませんが、実用に
耐える(ほとんど衝突を起こさない)程度の信頼性はあります。(意図的に書き換えなければ)
通常ディスクのフォーマット時に、UUIDも生成されますが、この値を確認はどうするのでしょうか?
unix なら、blkid コマンド等が利用できますし、windows なら dir、vol 等のコマンドで確認できます。
windows では、"ボリューム シリアル番号"が UUID に相当します。
unix では、ラベルとUUIDは別物です。(/dev/sda1: LABEL="/boot" UUID="2b559e.....d27 .... TYPE="ext3")

Fedora 10 LiveUSB の第一段階では、"ボリューム シリアル番号" を使用してUSBディバイスをマウントします。
例、 マウント時にデバイス名(/dev/sdc1) の代わりに、識別子(A03E-C8EF) が使用されます。


VOL 実行結果の "ボリューム シリアル番号" が、 UUID に該当。

C:\> vol F:  (F: がUSBメモリのドライブの場合)
     ドライブ F のボリューム ラベルは F10C52BOOT です
     ボリューム シリアル番号は A03E-C8EF です

もし、Cygwin がインストール済みならば、UUIDの確認に blkid が使用できます。
C:\>\cygwin\usr\sbin\blkid.exe
/dev/sda1: TYPE="ntfs"
    :
/dev/sdb1: UUID="A03E-C8EF" TYPE="vfat"

C:\>


livecd-iso-to-disk で Fedora 10 LiveCD を Fedora 10 LiveUSB 化。


   # livecd-iso-to-disk 対象ISOファイル(F10-x86_64-Live.iso)  UBSドライブ(/dev/sdc1)



livecd-iso-to-disk が作成したUSBメモリーから、別のUSBメモリーにコピーして使用する時は、
syslinux.cfg ファイル中の UUID の変更を忘れてはいけません。OSが起動できなくなります。
(ブートブロックの複製も必要です。)

default vesamenu.c32
timeout 100

menu background splash.jpg
menu title Welcome to F10-x86_64-Live!
menu color border 0 #ffffffff #00000000
menu color sel 7 #ffffffff #ff000000
menu color title 0 #ffffffff #00000000
menu color tabmsg 0 #ffffffff #00000000
menu color unsel 0 #ffffffff #00000000
menu color hotsel 0 #ff000000 #ffffffff
menu color hotkey 7 #ffffffff #ff000000
menu color timeout_msg 0 #ffffffff #00000000
menu color timeout 0 #ffffffff #00000000
menu color cmdline 0 #ffffffff #00000000
menu hidden
menu hiddenrow 5
label linux0
  menu label Boot
  kernel vmlinuz0
  append initrd=initrd0.img root=UUID=A03E-C8EF rootfstype=vfat ro liveimg quiet  rhgb
menu default
label check0
  menu label Verify and Boot
  kernel vmlinuz0
  append initrd=initrd0.img root=UUID=A03E-C8EF rootfstype=vfat ro liveimg quiet  rhgb check
label memtest
  menu label Memory Test
  kernel memtest
label local
  menu label Boot from local drive
  localboot 0xffff


Fedora 10 LiveUSB と マルチブートツールの統合


1、livecd-iso-to-disk により作成した、USBメモリーの syslinux ディレクトリにある
    syslinux.cfg をバックアップする。

2、マルチブート用に用意した、データの syslinux ディレクトリにあるファイルを全て、
    USBメモリーの syslinux ディレクトリにコピーする。

3、livecd-iso-to-disk により作成された syslinux.cfg とマルチブート用に用意した、
    syslinux.cfg とマージして、新しい syslinux.cfgを作成する。
   (livecd-iso-to-diskで作成した、USBメモリーに追加しているので、UUID の変更は不要)

4、livecd-iso-to-disk が作成した、USBメモリーに含まれる ldlinux.sys は、Fedora 10
    しかロードできないので、汎用の syslinux を使って ldlinux.sys を入れ替える。

    汎用版の syslinux(syslinux-3.72.zip)を取得する。
    入手先 http://www.kernel.org/pub/linux/utils/boot/syslinux/

    ダウンロードし展開したディレクトリ、syslinux-3.72/win32 にある syslinux.exe を
    使って、ldlinux.sys の入れ替え作業を行う。

        設定方法
            syslinux.exe -ma -d syslinux  USBドライブの名前:


マルチブート用のsyslinux.cfg に LiveCD 用の設定をマージした例。(UUID=XXXX-XXXX は、UUID=A03E-C8EF
livecd-iso-to-diskで作成した、USBメモリーにセットアップする場合は、該当するUSBメモリーのUUIDに変更する事

default vesamenu.c32
#prompt 1
timeout 600

menu title Welcome to F10-x86_64-Live & Multi-Boot Loader!
menu color border 0 #ffffffff #00000000
menu color sel 7 #ffffffff #ff000000
menu color title 0 #ffffffff #00000000
menu color tabmsg 0 #ffffffff #00000000
menu color unsel 0 #ffffffff #00000000
menu color hotsel 0 #ff000000 #ffffffff
menu color hotkey 7 #ffffffff #ff000000
menu color scrollbar 0 #ffffffff #00000000
menu color timeout_msg 0 #ffffffff #00000000
menu color timeout 0 #ffffffff #00000000
menu color cmdline 0 #ffffffff #00000000

label linux0
menu default
  menu label ^Boot Fedora10 i386 x64 Live
  kernel vmlinuz0
  append initrd=initrd0.img root=UUID=XXXX-XXXX rootfstype=vfat ro liveimg quiet  rhgb
label check0
  menu label ^Verify and Boot Fedora10 i386 x64 Live
  kernel vmlinuz0
  append initrd=initrd0.img root=UUID=XXXX-XXXX rootfstype=vfat ro liveimg quiet  rhgb check
label linuxF10x64
  menu label ^1 Install or upgrade an existing system(Fedora10 x64)
  kernel vmlinuz-f10x64
  append initrd=initrd-f10x64.img
label linuxF9x64
  menu label ^2 Install or upgrade an existing system(Fedora9 x64)
  kernel vmlinuz-f9x64
  append initrd=initrd-f9x64.img
label linuxC52x64
  menu label ^3 Install or upgrade an existing system(CentOS5.2 x64)
  kernel vmlinuz-c52x64
  append initrd=initrd-c52x64.img
label linuxC51x64
  menu label ^4 Install or upgrade an existing system(CentOS5.1 x64)
  kernel vmlinuz-c51x64
  append initrd=initrd-c51x64.img
label linuxF10
  menu label ^5 Install or upgrade an existing system(Fedora10 x32)
  kernel vmlinuz-f10
  append initrd=initrd-f10.img
label linuxC52
  menu label ^6 Install or upgrade an existing system(CentOS5.2 x32)
  kernel vmlinuz-c52
  append initrd=initrd-c52.img
label rescue
  menu label ^Rescue installed system By Fedora 10 x32
  kernel vmlinuz-f10
  append initrd=initrd-f10.img rescue
label local
  menu label Boot from ^local drive
  localboot 0xffff
label memtest86
  menu label ^Memory test
  kernel memtest
  append -


WAN経由で Fedora 10 をインストールする
クールなインストール方法  (USB版インスト-ルデバイスの作成)



BBS (BIOS Boot Specification) Menu による、起動ディバイスの選択

OSの起動ディバイスを、一時的に変更したい場合が発生します。
BBS Menu は、こんな時に有効な手段です。 PCが起動する時に、特殊キーを押す事で、このメニューを
呼び出す事可能です。 しかし、BBS Menu 機能のサポートや、BBS Menu の起動方法は、メーカごとに
異なり、同じメーカーでも機種によって、起動方法が異なる場合があり、混乱をきたします。
インテル製のマザーボードでは、 F10(ファンクションキーの10) 、ASUS製のマザーボードでは、F8 を
用いる事が多いようです。

USBデバイスを使って、ブートする場合は、BBS Menu 機能を利用するのが適切です。
USBデバイスからの起動に失敗する場合、USB HUB を経由して接続すると起動できる場合があります。




go to TopPage go to CategoryTop