トップ «前の日記(2009-04-18 [J]) 最新 次の日記(2009-04-23 [J])» 編集

ゆ〜ぞ〜の備忘録

コメントスパム対策のため、特定メールアドレスの入った突っ込みをお断りしています。

2005|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|03|04|05|06|07|08|09|10|11|12|
2010|01|03|
2036|01|

2009-04-19 [J] [PC] syslinux 解説のつもりがGRUBの糾弾に(苦笑 [長年日記]

初めに

GRUB for DOS によって 2枚のSD+1枚のCFメモリカードのパーティションが合計4回破壊されました。
よって GRUB for DOS は出入り禁止、そうなると syslinux でDOSを起動する方法が限られるため syslinux も使用停止とします。

GRUB for DOS がSDメモリを殺した理由

パーティションとその切り方」や「マスターブートレコードの解析」を読むと推察がつきます。

ディスクの先頭1セクタ(512Byte)は MBR(マスターブートレコード)となっており、内訳は以下の通り。

  • ブートストラップローダ 446bytes
  • パーティションテーブル 16bytes ×4 = 64bytes
  • ブートシグニチャ 2bytes

重要なのは MBRそのものではなく、最初のパーティションが第2トラック(シリンダー0、ヘッド1)から始まること。つまり、

  • C/H/S = 0/0/1 → MBR
  • C/H/S = 0/1/1 → パーティション先頭

となること。通常のHDDにおける セクタの最大値は63なので 1トラック=63セクタとなりますが、壊れた SDメモリカードはセクタの最大値が 32 と定められており、1トラック=32セクタ。
つまり、GRUB for DOS のバカが セクタ33〜62 の領域に何か書いた可能性が高そうです。案の定 512×62を16進数にした7C00で検索してみると解説っぽい文書が出てきます。なにが Magic だ馬鹿野郎。

以降、お薦めはしませんが

折角書いたので置いておきます


USBメモリ、メモリカードからsyslinuxの起動

USB メモリ(Z:とする)に対して MBR の書き換え(-m)とパーティションのアクティブ化(-a)を行い、 ブートローダ本体(ldlinux.sys)を /boot に書き込みます。

  syslinux -ma -d /boot Z:

ldlinux.sys の書き込み先は任意に選べますが、どのみち syslinux.cfg の置き場所が ルートディレクトリ、/boot/syslinux、/syslinux のいずれかになるので、ルートか /boot/ あたりが無難です。

弄るのはMBRだけなので フォーマットは基本的に不要(=データが消えない)ですが、 念のためバックアップを取ることをお勧めします。事実、起動中にmiceroSDが死んだので(涙)。

メモリカードに syslinux を入れるときは、PCMCIA またはUSBのメモリカードリーダ に入れてsyslinux コマンドを実行する必要があります。ノートPCにあるSDスロットでは、syslinux 自体が起動しません。
SDスロットに入れると SDメモリカードの MBR にアクセスできないためだと推測されます。

USBメモリのHDD/FDDモードとPCの認識

syslinux の起動方法は3種類。

  1. カーネルとイメージの指定
  2. memdisk とディスクイメージを指定
  3. GRUB for DOS 経由で起動

このうち 2. および 3. に挙げた方式の正否は、USBメモリのパーティション構成がハードディスク互換(HDDモード)か、リムーバブルディスク互換(FDDモード)かによって変わりますし、更にPCからFDD/HDDどちらのモードと認識されるかによっても変わります。

一番確実なのは、Win98SE の DOS モードで起動して fdisk, format /s することです。
私の持っている ECS の AMD690GM-M2 は「USB機器から起動すると起動時に繋げているUSB機器にアクセスできる」というグレイトな機能がありましたので、複数のUSB機器を繋いでDOS起動→fdisk, format /s が可能でした。

そのほかの方法についてはもうサッパリ(参考:日本HPUSBブート推進協議会)。

メディア フォーマット方法 PCでの認識(HDD/FDD) イメージファイル指定での起動 GRUBを使った起動
(CF) PCMCIAに繋いで Win98SEでフォーマット, sys → syslinux HDD認識 起動成功、メモリ本体が C: に見える 起動成功
(SD) PCMCIAに繋いで Win98SEでフォーマット, sys → syslinux HDD認識 起動成功、メモリ本体にアクセスできず、Partition Magic で #105エラー 起動成功。#105エラーは変わらず
CF の Win98DOSで起動し、fdisk, format /s → syslinux HDD認識 起動成功。メモリ本体は未確認 起動成功。Parition Magic エラー無し
(USB) HPフォーマット → syslinux HDD認識 起動成功
HPフォーマット → XPでクイックフォーマット → syslinux FDD認識? 起動成功。メモリ本体は見えず。 copyで転送 したが、GRUB起動時に menu.lst の読み込みに失敗
HPフォーマット → XPでクイックフォーマット → Win98でsys → syslinux HDD認識 起動成功。メモリ本体にアクセスできず、 Partition Magic で #108エラー 起動成功。#108エラーは変わらず
CF の Win98DOSで起動し、fdisk, format /s → syslinux HDD認識 起動成功。メモリ本体は未確認 起動成功。Parition Magic エラー無し
(SDHC) SDフォーマット → USB に繋いで copy で転送 → syslinux HDD認識 起動成功。メモリ本体にアクセスできず、Partition Magic では #108エラー DOS起動時に "Type the name of the Command Interpreter" (*1)
SDフォーマット → USBに繋いでXPでクイック/通常フォーマット → syslinux FDD認識 syslinux 起動せず
デジカメでフォーマット → USBに繋いで syslinux HDD認識 起動成功。メモリ本体にアクセスできず、Partition Magic では #108エラー
デジカメでフォーマット → USBに繋いでXPで通常フォーマット → syslinux FDD認識 syslinux 起動せず
USBに繋いでHPフォーマット → XPでクイック/通常フォーマット copyで転送 → syslinux FDD認識 起動成功。メモリ本体が B: となり、HDDとしては認識されない GRUB起動時に menu.lst の読み込みに失敗
CF の Win98DOSで起動し、fdisk, format /s → syslinux HDD認識 起動成功。メモリ本体は未確認 起動成功。Parition Magic エラー無し

(*1) 逆に言えば、syslinux→GRUB→io.sys 読み込みまでは成功しています。
パーティションエラーのせいで command.com の読取に失敗したと仮定すれば、Win98 の sysコマンドを使わずにシステムファイル(io.sys, msdos.sys, command.com)をコピーしても問題は無かった可能性があります。
つまり Windows98 DOS の動く環境が無くても Linux でパーティション切りなおし → フォーマット → システムファイルを普通にコピー → syslinux実行 で動くかもしれません。もしかしたら ms-sys 辺りが必要になるかもしれませんが。

syslinux の起動(1)カーネルとイメージの指定

例えばBG-Rescue Linux なら、syslinux.cfg の中身はこんな感じで、 loadlin、lilo、grub などの起動ツールと基本的に同じです。

LABEL bglinux
   KERNEL /boot/syslinux/BGRescue/vmlinuz
   APPEND initrd=/boot/syslinux/BGRescue/initrd.img root=/dev/ram0

モノによっては結構複雑だったりしますが、isoイメージファイルの中に isolinux.cfg というファイルがあれば参考に出来ます。

LABEL ping
   KERNEL /boot/syslinux/PING/kernel
   APPEND vga=normal devfs=nomount pxe ramdisk_size=55000 load_ramdisk=1 init=/linuxrc prompt_ramdisk=0 initrd=/boot/syslinux/PING/initrd.gz root=/dev/ram0 rw noapic nolapic lba combined_mode=libata ide0=noprobe nomce pci=nomsi irqpoll quiet

参考:仙石浩明の日記 2007-08-24

syslinux の起動(2)memdisk とディスクイメージを指定

注意:PCによってはどうやっても起動できず、Loading boot sector で停止することがあります。

DOSにはカーネルが無いため、(1)の方法は使えません。

この場合は memdisk というプログラムでディスクイメージをロードするよう syslinux.cfg に書いてやればOK。memdisk は syslinux を解凍すると memdisk ディレクトリの下にあります。
また、UNetbootinを使うと簡単に導入できます。

LABEL dosfd
   KERNEL /boot/syslinux/memdisk
   APPEND initrd=/boot/FDIMAGE/WIN98SEU.IMG

起動条件は、(恐らく)HDD認識またはFDDモードFDD認識であること。メモリ本体は前者で C:、後者で B: になります。

参考:memdisk

syslinux の起動(3)GRUB for DOS 経由で起動

DOSにはカーネルが無いため、(1)の方法は使えません。

この場合は syslinux から GRUB for DOS を読んで、GRUB から起動します。

しかしSDメモリのパーティション破損が3回、いずれもこの方式での起動中にありました。
破損したのはSDまたはmicroSDメモリカード、1枚は時々 syslinux が起動せず、1枚は突然壊れました。とりあえず GRUB for DOS は出入り禁止とします。

/boot/syslinux/syslinux.cfg の内容:
LABEL dosgrub
   KERNEL /boot/grub/grub.exe
/boot/grub/menu.lst の内容: title MS-DOS find --set-root /io.sys chainloader /io.sys

起動条件というか方法は、Win98 でフォーマットし sysコマンドで転送していること。
または HP のツールでフォーマットしていること。

その他の方法についてはさっぱり分かりません。FDDモードと認識されるとGRUB の起動に失敗し、通常の方法で システムファイル(io.sys、msdos.sys、command.com)をコピーしてもうまく行かないようです。

制限事項は以下の通り。

  • menu.lst は ルートディレクトリか /grub、 /boot/glib のいずれか
  • この方法で複数のDOSを起動する場合、autoexec.bat, config.sys の制御がややこしい
  • SDのパーティションがバンバン壊れます。こんなクズプログラム使っちゃ駄目だよ!

参考……とするには不確定情報の扱いが拙いものの、まあ実験乙:Palm84 某所の日記 2007-03-04 GRUB for DOS めも

本日のツッコミ(全15件) [ツッコミを入れる]
削除Marci Farney (2012-06-11 [J] 00:56)

削除http://i5drugs.altvenue.com/buy-cheap-amoxil.html buy cheap amoxil http://in3drugs.afaa-ne.org/purchase-proscar-without-prescription.html purchase proscar without prescription

削除Jon Scaggs (2012-09-07 [J] 03:55)

削除http://in2drugs.sc-midwives.org/paxil-delivered-from-india.html paxil delivered from india http://in6drugs.wmxi.com/where-can-i-get-vigora.html Where can i get vigora?

削除Tracey Croker (2012-12-11 [J] 18:39)

削除http://payday-loans.newarklandmarks.org/497.html loan money fast http://payday-loans.hotbedmiami.org/608.html a faxless payday loan

削除Dano Lemke (2013-01-07 [J] 21:37)

削除http://payday-loans.syracusecinephile.com/application-loan-online-payday.html application loan online payday http://payday-loans.refreshaustin.org/need-gas-money.html need gas money

cialisjourpopoloums (2013-01-09 [J] 17:06)

http://www.cialisltd.com/#jl4cvb.sakura.ne.jp - cialis http://www.cialisltd.com/#jl4cvb.sakura.ne.jp - cialis cost <br><a href=http://www.cialisltd.com/#jl4cvb.sakura.ne.jp>cialis uk</a>

gronnaanato (2013-01-20 [J] 10:50)

http://site.ru - http://site.ru - site site <br><a href=http://site.ru>site</a>

propeciagronnaanato (2013-01-29 [J] 09:06)

http://www.propecianorxpharmacy.com/buy-propecia.html - http://www.propecianorxpharmacy.com/buy-propecia.html - buying propecia propecia buy <br><a href=http://www.propecianorxpharmacy.com/buy-propecia.html>order propecia online</a>

削除Lashelle Sands (2013-01-30 [J] 08:04)

削除http://payday-loans.visiondivision.com/paydayloan-today.html paydayloan today http://payday.outlandishjosh.com/cash-loan-military-quick.html cash loan military quick

削除Johnna Sansom (2013-02-21 [J] 19:07)

削除http://cialis.moremarrowdonors.org/how-much-does-cialis-cost.html how much does cialis cost in Caledonia OH 43314 Ohio http://payday.gokhiel.com/cash-fast-home.html cash fast home

cialisonline (2013-02-23 [J] 11:07)

http://www.cialisdelightful.com/ - http://www.cialisdelightful.com/ - cialis brand msn <br><a href=http://www.cialisdelightful.com/>cialis drugstore</a>

meelliohomb (2013-02-24 [J] 05:10)

http://www.cialislmtd.com/#jl4cvb.sakura.ne.jp - <a href=http://www.cialislmtd.com/#jl4cvb.sakura.ne.jp>cialis pill</a> cialis uk <br>http://www.cialislmtd.com/#jl4cvb.sakura.ne.jp - cialis

meelliohomb (2013-02-24 [J] 16:04)

http://www.cialislmtd.com/#jl4cvb.sakura.ne.jp - <a href=http://www.cialislmtd.com/#jl4cvb.sakura.ne.jp>cialis price</a> cialis <br>http://www.cialislmtd.com/#jl4cvb.sakura.ne.jp - cialis

削除Nelson Mickey (2013-02-25 [J] 05:01)

削除http://payday.vidol.gov/fast-debt-consolidation-loans.html fast debt consolidation loans http://payday.jacols.org/internet-payday-loans.html internet payday loans

agrituina (2013-04-25 [J] 07:57)

This is basically a bantam term intent loan through with which you can magnitude of currency internal cash and consequently are mostly in financially needy aspects of town. The charges are ordinarily importantly less dearly-won than a for sure crosses intelligent to utilize for this dodge. <a href=http://www.leprechaunloans.co.uk/>Payday UK</a> Hence, group wretched from a bad commendation do can with the help of payday loan present. <br> <br>Furthermore, in that respect is no any obligation of recognition draft and lenders redundant of 18 a untrustworthy to statesman your very own imperative fund informing. Never look for loan attitude online from a on said get the best series involvement you are able to. Tend not to envisage it is possible to stay away created organisation whenever for the very best results. <a href="http://www.leprechaunloans.co.uk/">Payday Loans</a> This is why acquiring a payday loan is helpful sometimes, even altho' women threefold the the fees related to with your loan. This will probable make certain, you are alert so to avert to be very victimisation early payday.

Williamhype (2014-01-19 [J] 10:28)

Hi Bro! Goocournodyovera http://ujyfyvedcc.com - kuyfgky guelariundebuincivof <a href=http://fjvwrwcwfed.com>judfygbv</a> gosquetooseStele http://fkdsuyvgwufb.com abagnecync