[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debian-users:19074] Re: replacement of HDD



海老原です。

# 元記事の方はもう既に解決されたようですが、ブートプロセスの
# 議論として興味深いので続けさせて頂きます。


> 君島です。
:
> > Winを入れるならDOSのライセンス問題で頭つかわなくて良いので、
> > 素直に、C:\LINUXを作って、loadlinで起動します。こっちの方が
> > MBRを書き換える危険を冒すよりも素直だとおもいます。
>
>  というか、逆に Linux のブートが遅くなるということはないですか?

確かに、lilo起動に比べればステップ数も増えますが、試してみていた
だければ分かりますが意外に早いですよ。

> MBRの書き換えは危険という話しもありますが、それでトラブッたこと
> もありませんし、書き込みに失敗したらブロッピーでブートして書き
> 直せばいいのかなとも思います。

ハードディスクの中で、MBRだけは代替セクターが効かないはずです。
(最近のハードディスクコントローラは賢いのでIDEプロトコルより下位
  のレベルでHDが自律的に判断して勝手に置き換えるかもしれませんけど)

MBRは512バイトのセクターですが、先頭446バイトに起動コードがあって
残りにパーテーションテーブルと識別子2バイトが置かれています。

( /usr/doc/lilo/Manual.txt.gz 参照 )

つまり、MBRの書き込みにしくじったということはパーテーション情報が
失われた・・・ハードディスクの全データが失われることを意味します。

だから、頻繁に書き換えるのは恐い。しくじったらFDで再起動して
上書きすれば良いというものではないです。

・・・もっとも、これが恐いなら
dd if=/dev/hda of=mbr.b bs=512 count=1
と、やっておいて、MBRをFDなどにバックアップすれば済む話ですけどね。

それにしても、MBRはパーテーション情報を含むもっとも重要かつ代替の
効かない(?)大事ななセクターですので、不良ブロック化したら全て終わり
です。

>  なにしろ、
> ---
> boot=/dev/hda1
:
> ---
> こんな lilo.conf を使ってたりしますから、DOSのライセンスはあり
> ましぇ〜ん。

君島さんのliloを見ると、mbrへの書き込みは行ってませんね。
パーテーションブートレコードpbr(これは通称なので正式名称ではない)
に、書き込まれてますね。

>  それに、今はどうなのか知りませんけど、カーネルを 8+3 文字のファ
> イル名でDOSパーティションにコピーしなきゃいけないというのも面倒
> でしたね。バージョン名なんか入れると8文字じゃ足らないでしょ?

確かに・・・私の場合カーネルは
C:\LINUX\2-2-13-A.vml
などのように識別してます。(ファイルの種類は拡張子で識別すべしという
個人思想に基づく)

さて、これだけだと debian 的ではないので、debian的なことをいいますと、
佐野先生(lilo-howtoの著者)に教えてもらった extipl というのがシンプル
で良いですよ。メニュー選択できますし。

僕もあるシステムに使わせてもらってます。

$ dpkg -l extipl
要望=(U)不明/(I)インストール/(R)削除/(P)完全削除
| 状態=(N)無/(I)インストール済/(C)設定/(U)展開/(F)設定失敗/(H)半インストール
|/ エラー=(空欄)無/(H)維持/(R)要再インストール/X=両方(状態,エラーの大文字=異
常)
||/ 名前            バージョン     説明
+++-===============-==============-=========================================
===
ii  extipl          4.22-2         Yet Another Boot Selector for IBM-PC
compati


とあるシステムで、全然起動が出来ずに、エラーを探るためliloのソースは
追ったことが有りますが、これ以上深く突っ込まれると、佐野先生に頼らざる
をえません(^^


---------
えびはら
みつびしでんき
なごやせいさくしょ