トップ «前の日(04-18) 最新 次の日(04-20)» 追記

ゆ〜ぞ〜の備忘録

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

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|

2008-04-19 [J] [misc] 口直しに

美味しいものを紹介するぜ!

とても美味しいカンパン





画像の説明

いや、本当に旨いんです。カニヤの本格派ネービーカンパン。

小口で買いづらいのが玉に瑕で、私は半箱分(3食×10パック)をカニヤさんの直販で購入しました。人にあげたり食べたりしていたらすぐに5パック無くなっちまいましたが。

調べてみるとアルミ袋入り(3年保存)とビニール袋入り(1年保存)があり、後者は秀岳荘成城石井で小口購入できるようです。

本日のツッコミ(全7件) [ツッコミを入れる]

Before...

削除Angelika Speck [削除http://payday-loans.georgetown-kentucky.com/i-need-a-loa..]

削除Leigh Deese [削除http://payday.moremarrowdonors.org/no-payday-loan.html n..]

削除Rena Melton [削除http://cialis.spaysandiego.com/what-is-the-best-way-to-t..]


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件) [ツッコミを入れる]

Before...

削除Nelson Mickey [削除http://payday.vidol.gov/fast-debt-consolidation-loans.ht..]

agrituina [This is basically a bantam term intent loan through with w..]

Williamhype [Hi Bro! Goocournodyovera http://ujyfyvedcc.com - kuyfgky g..]