2009年01月07日

grub4dos の MBR を書くソフト

grub4dos の MBR を書くソフトをお勉強を兼ねてちょろっと作ってみた。

grun4dos は、このブログお勧めのブートローダ。なのだが... 肝心のインストールの方法がいまいち。

Linux なら簡単なんだが... みたいにお茶を濁していたのが気になっていたので、とりあえずはインストールできるものを(コンソールアプリだが)作ってみた。

上のソフトを使えば、Windows から USB メモリなどに MBRを書き込めて、eeePC や Aspire One で grub4dos を 気軽に 試すことができるようになる。(ただし、C: ドライブは無理。USB メモリにインストールした puppy linux とかでやるべし )



使用例:puppy linux を例に

用意するもの


手順:

  • SDFormatter でまず USB メモリをフォーマットし、いったん抜いて挿しなおし ドライブを認識させる。( 以降 e: ドライブとする )
  • grub4dos-0.4.4-2008-11-19.zip から、grldr , grldr.mbr の2つのファイルを e: にコピー
  • grldrmbr-0.1.zip から grldrmbr.exe を e: にコピー
  • puppy-4.1.1-JP.iso を開いて vmlinuz , initrd.gz , pup_411JP.sfs の3つのファイルを e: にコピー
  • e:に空の新規ファイル usbhd を作成
  • コマンド プロンプトを実行して

    e:
    grldrmbr e:

  • 以下の内容の menu.lst ファイルを e: に作成

    timeout=3
    default=0

    titile Puppy Linux
    root (hd0,0)
    kernel /vmlinuz pmedia=usbhd
    initrd /initrd.gz



これで、USB メモリからブートするようになる。USB メモリに 必要なファイルは、全部で 8 つのみ。( そのうち grldr.mbr と grldrmbr.exe はインストール後 削除して良い )

注意)grldrmbr.exe を使う場合は慎重に。ミスすると たいへんなことになったりする。インストール後は削除することを推奨する。
なお、私はなにも保証しない。使う場合は、自己責任で

おまけ:

MBR をバックアップするだけなら、dd コマンドが使える。dd には複数あるが、一応 dd for Windowsの簡単な使い方あたりが参考になると思う。

それとは別に、WINAVR (AVR の開発キット) にも 結構ツールが入っていて dd.exe も含まれている。MinGW+MSYS+WINAVRの例だと、

dd if=//./c: of=mbr.bak count=1

とかで MBR をバックアップできたりするようだ。ただし書き込みは e: などでもダメ。




puppy linux で Windows のバックアップ

puppy linux で何ができるの? といわれたら、なにはともあれこれ。もちろん他にもいろいろできるが、このためだけに使ったとしても便利。
ちょっと手順を書いておく。

Windows での準備:

1) まずはデフラグ。この機会にやっておくと良いと思う。
2)休止の OFF 。コントロールパネル→電源オプション→休止状態で 無効にすると、メモリサイズと同じ大きさの hiberfil.sys が消える。バックアップファイルが小さくなるので、お勧め。
バックアップが終わったら元に戻せばよい。
3)ページングファイルの削除。コントロールパネル→システム→詳細設定→パフォーマンス→詳細設定→仮想メモリで、ページングファイルなしにする。これもバックアップファイルを小さくするためにお勧め。

追記:1)の前に ...
システム→システムの復元→設定 で、いったん最小にしてもとに戻すと空きが増えバックアップファイルを小さくできる。復元ポイントが減るはずだが、安定している状態をバックアップすることにしていれば問題ないはず。

puppy linux でのバックアップ

端末を立ち上げて

ntfsclone -s -o - /dev/sda1 | grep --fast > バックアップファイル名


注1) /dev/sda1 が puppy では たぶん Windows の システム。
一度は確認すべし。
注2)Disk のマークをクリックしたりしてマウントした状態で バックアップを取ってはいけない。アンマウントすること。

リストアする場合は、

gunzip < バックアップファイル名 | ntfsclone -r -O /dev/sda1 -


注1)環境にもよるが、私の環境だと、バックアップファイルのサイズは、1.7GB 。4GB までなら FAT に置けるが、それ以上は無理なので、NTFS のデータ用 ディスクを用意するべし。
ちなみに、NTFS でフォーマットした USB メモリでも、grub4dos + puppy linux は同じようにインストールできる。詳しくはググるべし。
posted by すz at 21:19| Comment(0) | TrackBack(0) | 日記
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス: [必須入力]

ホームページアドレス: [必須入力]

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
この記事へのトラックバックURL
http://blog.sakura.ne.jp/tb/30760561
※ブログオーナーが承認したトラックバックのみ表示されます。

この記事へのトラックバック