プロが教える店舗&オフィスのセキュリティ対策術

Ubuntu10.04で、カーネルの更新時、MBRを書き込みさせないスイッチはありますか。

デュアルブートで、Windows XP,Fedora13,Ubuntu10.04,Vine5.1を一つの内蔵HDDにインストールして遊んでいます。
通常、Ubuntuは、Vineを全く相手にしないため、Ubuntu以外のMBRを使用しています。
Ubuntuのカーネルの更新時、勝手に書き換えられるため、その都度保存していたMBRを上書きしています。

Ubuntuのインストール時、パーティション情報は壊され、インストール後
パーティションの確立のため、「testdisk」で、壊されたパーティションを再構築させられます。
これも再現性があり、調査対象です。

A 回答 (8件)

まあ、しばらくは


going my way ですかね。

Ubuntu Forum の
>基本パーティション3個と、1個の拡張パーティションを作り、
>そこに論理パーティションを作成でき、
>その制約は、30個くらいは通常は気にしなくてもよいといった知識でした。

古い記事ですが、
scsi type で 認識するようになって、16個 になったという話ですが
当時、実際やった人がいて、15個だったという話を記憶していますが
その後どうなっているかは、解りません。
私は、だいたい 10個くらいの partition で、特に不便ではありませんが。
// 現在は、主な Distro で CentOS/RHEL だけが古い。

IDEハードディスクが「/dev/hda」ではなくなる日
http://www.atmarkit.co.jp/flinux/rensai/watch200 …
    • good
    • 0
この回答へのお礼

Ubuntu 日本語Forum の質問は、何の収穫もなく終りました。
終了というのがないため、新しい回答が入っても、メールが届くこともないので、
思い出したら覗くようにします。
開発している人が覗いて、再現テストをして回答があることを期待していますが、
そのうち、10.10がリリーズするとたぶんUbuntuはやめると思います。
自由度のあるFreeBSDを体験してみることになると思います。

Ubuntuは、最初からデザインが独特な部分があり、馴染めないままです。
お付き合いいただきありがとうございました。

お礼日時:2010/09/06 11:27

たぶん保存されているMBRの中身と


Ubuntu10.04インストール直後のMBRの中身を
それぞれダンプして、異常の状態を確認すべきだと思います。

インストール直後に変更していないはずのパーティションテーブルに異常があるなら
ハードウェアなりソフトウェアなり、バグか不具合があるんだろうとは思います。

実際の異常の内容を視覚化することで
原因が類推できる場合もあると思います。


私自身は、こういった種類のMBRトラブルは
AdaptecのSATAカードとSamsungの500G HDDで発生、二度再現しましたが
この問題はSamsungを排除することで以来再発していません。

パーティション操作が反映されていないように見えました。
MBRダンプはしないままそのHDDは手放して、詳細は未調査です。
Sofmapの買い取り査定では異常は発見されていません :-p

閑話休題
dd if=/dev/sda bs=512 count=1|od -x
でダンプリストが得られます。

前半446バイト分がローダーで
残りの66バイト分がパーティションテーブル
そこを見比べてみましょう。

部分的な破損と、テーブル全体の破壊では
問題の原因も違ってくるのではないかと思います。

ただ、その先の回避策や改善策はまったく思いつきませんが orz

仮にUbuntuインストール時に、GRUB2をPBRに入れることで、発生が防げるとしたら
他のLinuxがインストールしたGRUBやMBMなどから
UbuntuのPBR内のGRUB2を呼び出すという手も使えるとは思います。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

当方も同じ考えで、全てのMBRの変更された場合は保存しているため、
hexdump -C mbr.img > print-mbr
のコマンドで見比べて調査はしましたが、パーティションテーブルの
4エントリ分は、同じでしたね。
ブートストラップルーチンの分も、LINUXにより少し違う可能性があるので、
一字一句まではチェックしていませんが。
確かにそれ以上調査をしても、開発者ではないので仕様の細かなことまで不明なので、
意味ないのであきらめました。

Ubuntu側の考慮不足、すなわち「虫」であると私は思っています。
ソフト開発では、良くあることなので、開発している人にしか、ピンとくるような事はないと思います。

お礼日時:2010/09/08 06:45

>どこかが異なるのでしようね。


30_os-proberを調べるしかないでしょうね。
    • good
    • 0
この回答へのお礼

ありがとうございました。

お礼日時:2010/09/05 20:12

>Vineのコールは、どのようにしているのか、知りたいです。


>ちょっと具体的に解りません。

Vine 5.1をインストールしてUbuntuでupdate-grubするだけです。

### BEGIN /etc/grub.d/30_os-prober ###以下に
menuentry "Vine Linux (Current kernel) (on /dev/sda6)" {
insmod ext2
set root='(hd0,6)'
search --no-floppy --fs-uuid --set 149de124-7982-4857-a2f5-8cc76f7f57c7
linux /boot/vmlinuz ro root=LABEL=/ resume=swap:/dev/sda5 vga=0x314 splash=silent
initrd /boot/initrd.img
}
などが作られます。
30_os-proberの変更は何も行っていません。
    • good
    • 0
この回答へのお礼

記載していただき、ありがとうございます。

sudo su -
でroot権限を得て、
update-grub
を入れると下記のメッセージが出力されるだけで、
/etc/grub.d/30_os-prober
/boot/grub/grub.cfg
は、共に全く変更されないままですね。
grub.cfgには、元々、Ubuntu10.04,WindowsXP,Fedora13が入っていましたが、
変更されないままです。
同様に、/etc/grub.d/30_os-prober も変更されていませんね。

どこかが異なるのでしようね。


:~# update-grub
Generating grub.cfg ...
Found linux image: /boot/vmlinuz-2.6.32-24-generic
Found initrd image: /boot/initrd.img-2.6.32-24-generic
Found linux image: /boot/vmlinuz-2.6.32-21-generic
Found initrd image: /boot/initrd.img-2.6.32-21-generic
Found memtest86+ image: /memtest86+.bin
Found Microsoft Windows XP Home Edition on /dev/sda1
Found Vine Linux 5.1 (Cheval Blanc) on /dev/sda3
Found Fedora release 13 (Goddard) on /dev/sda9
done

お礼日時:2010/09/05 11:52

No2 さん


>Ubuntuのgrubで問題なくVine 5.1も起動できます。
ちょっと具体的に解りません。

VMware server 1.0.10 で
Vine5.1 と Ubuntu10.04 を install してみたのですが
grub2 で Vine を 自動認識しませんでした。
update-grub
で message を 見ていると
Vine を 検出したと出るのですが
grub.cfg に反映されませんでした。
手動で 起動するようにしました。
私の CentOS を認識しなかった事を考えて
uuid を 使っていないものは、認識されないと
思ったので、
認識されたのなら、考えを修正しなければなりませんので
    • good
    • 0
この回答へのお礼

当方も同じでしたね。
多分、他の「お礼」欄に記載しましたが、同じだと思います。
私も、UUIDの設定がないのでだめなのかと思っております。
あるいは、パーティションの切り方で、LVM方式の可能性もあるのかなとも思っています。

UBUNTUは、デザイン的に好きになれないです。
デザインが、なんとなく、UNIXの仕様から離れていっている感がするのも一因ではないかと思いますけど。
独自性があって好きという人もいますけどね。

お礼日時:2010/09/06 11:52

>Ubuntuのカーネルの更新時、勝手に書き換えられるため


install 時だけと間違っていました。

hdd の driver ( sata ? ) や partition など
結構 特別な 場合という気がします。
// 英語で検索しても、そういうのはどうも見つけられません。

install-grub は、当面必要ないのですから
実行不可( 管理者権限でも ) にしたらどうでしょうか
    • good
    • 0
この回答へのお礼

> install-grub は、当面必要ないのですから
> 実行不可( 管理者権限でも ) にしたらどうでしょうか
MBRを壊されても、書き戻すだけなのでかまわないのですが、
なぜMBRまで書き変えるのかの仕様が分からなかったのですが、
通常は書き換えしないということのようですね。
Vineの正しいコールをセットしていないためなのかも知れませんね。

やはり、当方だけの特有な問題のようです。

お礼日時:2010/09/04 13:57

yakan9さんの環境に依存した問題でしょう。


Ubuntu 10.04を使っていますがカーネルの更新時にMBRは更新されませんし、10個のパーティションがあるHDにUbuntu 10.04をインストールしても、パーティションに変化はありません。
また、Ubuntuのgrubで問題なくVine 5.1も起動できます。
    • good
    • 0
この回答へのお礼

やはり当方だけに発生する問題ですかね。

Vineのコールは、どのようにしているのか、知りたいです。
よろしければ教えてください。

Ubuntu日本語フォラムの質問アドレスは、こちらです。
https://forums.ubuntulinux.jp/viewtopic.php?id=9 …

お礼日時:2010/09/04 13:47

参考にならないかも知れませんが



1. grub2 を 使っての話
http://rionaoki.net/misc/ubuntu/grub-2-basics
を参照して
# pwd
/etc/grub.d
# ls -l
合計 40
-rwxr-xr-x 1 root root 4444 2010-04-13 22:59 00_header
-rwxr-xr-x 1 root root 1416 2010-04-29 15:45 05_debian_theme
-rwxr-xr-x 1 root root 4594 2010-04-13 22:59 10_linux
-rw-r--r-- 1 root root 918 2010-03-23 18:37 20_memtest86+
-rw-r--r-- 1 root root 6605 2010-04-13 22:59 30_os-prober
-rwxr-xr-x 1 root root 2057 2010-08-01 15:58 40_custom

20_memtest86+
30_os-prober は
実行不可にして、Ubuntu(-studio) 以外は、40_custom で
chainloader で やっています。
( CentOS, OpenSUSE, Fedora, Mandriva(free), Windows )

30_os-prober は、他の Linux を scan して勝手に /boot/grub/grub.cfg
に書き込むのだが、chainloader では無い。
他の Linux のkernel の version-up を検知する訳ではない。
また、私の場合だけかも知れないが、CentOS は検出しなかった。

これで、update-grub で
10_linux は、Ubuntu 自身
40_custom はそのままで、grub.cfg になる/なった。

2. > Ubuntuのインストール時、パーティション情報は壊され
Ubuntu のForum を 見ましたが
私は話が合わない所があります。
別に、複雑だとは思わないし、/boot partition を作るのは
multi-boot するのに普通だと思うし

で、私は解りません
// OpenSUSE で 昔経験したような気がするが
私の場合は、それぞれのDistro で partition を作っていなくて
市販 の Partitioner で あらかじめ partition を作りますので。

最初に、HDD をどう使うか決めたおくとか
/boot partition を、まとめて置くとか
こういうのは、Partitioner がやり易いので。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

kernel更新時、MBRを書き出す必要はないと思いますけど、特にデュアルブート構成のときは、
書き出させたくないのですけど。
なぜ、MBRを書き出すのかが、/boot/grubの中をそれらしいものを調べてみたのですが分からなかったです。

一度、9.10のときにVineのエントリを、40_custom に入れてみたのですが、うまくいかなかったので、
10.04では試していません。
Ubuntu日本語フォラム覗いてもらえましたか。
grub.cfgにFedoraは自動エントリされるのですが、Vineは自動エントリされません。
Fedoraを自動エントリするのは良いのですが、Fedoraのパーティションまで消されてしまい、
原因をつかむまで苦労しました。
なぜパーティション情報が消されるのかは、分かりませんが、
Ubuntuのインストーラの虫と思いますけど、
開発者は、覗いていないのでしょうかね。

URLの紹介ありがとうございます。もう一度grub2の調査はしてみます。

当方もパーティションは固定にして、3個のエリアのどこにどのLinuxを入れるかです。
基本パーティションを作っているのは、FreeBSDとかSorarisのためなのですが、
これはLinuxみたいには簡単にいかないですね。

どうもありがとうございました。

お礼日時:2010/09/03 23:19

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!