無用の用無 失敗の記録帳、こうすりゃよかったのね。

webは失敗回避の知恵でいっぱい。他人には無用の用ですら無い自己中心的な備忘録です。口頭だけでまだ無形な話もあります。

syslinuxでUSBメモリから起動する方法(Linux版)

2011年11月05日 | Weblog
(syslinuxのusbkey.txtの勝手訳)

Cはシリンダ(cylinder)Hはヘッド(HEAD)Sはセクタ(SECTOR)の略です。
作業は linuxで行います

1)USB-HDモードを試す
BIOSで選ぶUSBメモリーからの真当な(BIOSが不出来なものでないとして)起動モードは"USB-HDD"。このモードはUSBメモリにかかれているC/H/SジオメトリがBIOSが予想しているものと一致していなくてもよい唯一のもの。USBメモリをHDドライブとするジオメトリには規定はなく、またbiosごとに仮定しているジオメトリがまちまちだ。C/H/S=?/255/63,や ?/16/63 。したがって、どんな時にも起動する唯一のモードは"USB-HDD"となる

いくつかのBIOS(特にある時期のAward BIOS)では"USB-HDD"モードで起動できない事が報告されている。

2)USB-ZIPモードを試す
BIOSでUSB-ZIPモードを選んでも止まってしまうことがある。USBメモリのジオメトリがZIP-Driveのジオメトリに合ってないことを意味している

zip-drive(100 MB と250 MBでも)のジオメトリ(C/H/S)はH:64、S:32で第4パーティションを使う(HDでは第1パーティションを使う。FDではパーティションを作らない)。100 MBのものは C:96で、250MBのものはC:239である。シリンダー数(C)は容量により変える。例えば、USBメモリをlinuxのシステムに挿して
次のメッセージがでたら

usb-storage: device found at 4
Vendor: 32MB Model: HardDrive Rev: 1.88
Type: Direct-Access ANSI SCSI revision: 02
SCSI device sda: 64000 512-byte hdwr sectors (33 MB)

シリンダー数は 64000/(64*32) = 31.25 シリンダ; 丸めて C:31である。

syslinuxからダウンロードして手に入るスクリプト"mkdiskimage"がusbメモリをZIP形式で初期化するために使える。そのためには、シリンダー数を正しく計算し(上の例では31)、もしUSBメモリが 
/dev/sda にいるなら(ここでは sdaがUSBメモリだとして話をしている。もし間違えたらドライブを初期化することになり回復不可能なので十分注意すること)、次のスクリプトを走らす

mkdiskimage -4 /dev/sda 0 64 32

ここで 0はメモリ容量を自動的に決めることを意味し、-4はパーティション4を使ってZIPディスクと同じように見せかけることを意味する。

次に以下のように syslinuxを起動しブートセクタを書き込む
 
syslinux /dev/sda4

その後 /dev/sda4 をマウントして、ファイルをコピーする。
これで usb-zip起動するusbメモリがつくれる

追記
Intel Desktop board (PhoenixBIOS)の場合
パーティションを切らなければ(FD扱い)syslinuxを利用してのブートは容易.(grubからのブートは成功しない)
パーティションを切った場合(syslinux/doc/usbkey.txtを参照),ブートエラーが発生.
BIOSで"USB Mass Storage Emulation Type"を "Auto"から"Fixed Disk"(HD扱い)に変更で解消.
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

VMware PlayerとESXi4の仮想ディスクの違い(LSIlogic,LSISAS1068の置換)

2011年11月05日 | Weblog
1. 仮想ディスクファイル(vmdk)の形式
ESXではhdd-flat.vmdkとhdd.vmdkの両方 
VMwareplayerではRAW

2. 変換(flat ファイルから)
vmware-vdiskmanagerを利用して変換します

vmware-vdiskmanager -r hdd.vmdk -t 0 hdd2.vmdk

hdd-flat.vmdkとhdd.vmdkがhdd2.vmdkに変換されます。

3. vmxファイルを作成

Workstationを利用してvmxファイルを作成します。
I/OコントローラタイプはESXと同じもの。
SCSI Controller Typeが異なると起動途中でブルースクリーンをはき出す
VMware-Player 4.0.0ではSCSIコントローラを指定してvmxファイルを作成すると無条件でLSI Logic SASになる
ESXでLSI Logic Parallelにしていたとき vmxファイルを以下のように書き換え

#scsi0.virtualDev = "lsisas1068"
scsi0.virtualDev = "lsilogic"

今作った仮想ディスクの使用を選択してhdd2.vmdkを指定。
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする