• 締切済み
  • 暇なときにでも

/dev/hda と /dev/hda1

/dev/hda と /dev/hda1 はそれぞれどのような位置を指しているのでしょうか? 例えば、grub-install /dev/hda (つまり、MBR にインストール) とやった場合と grub-install /dev/hda1 (Linux パーティションの最初のセクタ) とやった場合では、GRUB がインストールされる位置が異なるようです。 プライマリ・マスタ・ディスクの先頭にあるパーティションの最初のセクタ=MBR だと思っていたのですが、 # dd if=/dev/hda of=mbr.dat count=1 bs=512 # dd if=/dev/hda1 of=top.dat count=1 bs=512 # diff -c mbr.dat top.dat とやると、2つのファイルは異なっているようですので、/dev/hda の最初の 1 ブロックと /dev/hda1 の最初の 1 ブロックは異なっているようです。 例えば、/dev/hda の 1 ブロックの直後に /dev/hda1 の 1 ブロックが来ているなどの構造について教えていただけないでしょうか。(URL 参照でも構いません) また、ブートローダを /dev/hda1 にインストールしてしまった場合、/dev/hda1 が空っぽでなかったとすると、/dev/hda1 の最初のセクタにあったデータが壊れてしまう等の問題が発生する可能性はあるのでしょうか? よろしくお願いいたします。

共感・応援の気持ちを伝えよう!

  • Linux系OS
  • 回答数1
  • 閲覧数676
  • ありがとう数1

みんなの回答

  • 回答No.1

>/dev/hda と /dev/hda1 はそれぞれどのような位置を指しているのでしょうか? http://www.google.co.jp/search?q=%2Fdev%2Fhda+++%2Fdev%2Fhda1++%E9%81%95%E3%81%84&btnG=Google+%E6%A4%9C%E7%B4%A2&hl=ja&client=firefox-a&channel=s&rls=org.mozilla%3Aen-US%3Aofficial&hs=Aw3 Linux使うからには最低限の事を調べてから質問しましょう。 >プライマリ・マスタ・ディスクの先頭にあるパーティションの最初のセクタ=MBR だと思っていたのですが、 http://www.linux.or.jp/JF/JFdocs/LILO-README/disk-organization.html 調べれば1分もかかりません。 Linuxを使うからには教えて君はだめ

共感・感謝の気持ちを伝えよう!

質問者からのお礼

/dev/hda と /dev/hda1 の間に何バイト存在するのか、MBR 512 バイトの後ろにはどんなレコードが存在するのか等、もっと細かいところが知りたいと思っていました。見つけた URL の中ではご指摘いただいた http://www.linux.or.jp/JF/JFdocs/LILO-README/disk-organization.html が一番詳しく書かれていたようですが、疑問の解決には至らなかったので質問させていただいた次第です。 > また、ブートローダを /dev/hda1 にインストールしてしまった場合、 > /dev/hda1 が空っぽでなかったとすると、/dev/hda1 の最初のセクタに > あったデータが壊れてしまう等の問題が発生する可能性はあるのでしょう > か? これについては、最終的には /dev/hda1 に bs=512 で /dev/zero を上書きして解決しました。(他のサーバを見ると、パーティションの先頭 512 バイトは NULL で埋められていたので)

関連するQ&A

  • grubを消したい

    grub-install /dev/hda1 でパーティションブートセクタに入れたgrubを消したいのですが、どうすればいいのでしょうか?

  • ThinkPad X40のHDDを換装してリカバリしたいのですが

    ThinkPad X40を落下させてしまい、どうやらHDDの一部が壊れたようで WindowsXPが起動しなくなったため、HDDを換装すべく 以下の手順を取ったのですが、復旧できていません。 どなたか分かる方がいらっしゃいましたら 是非ご教示いただきたく投稿させていただきました。 宜しくお願いいたします。 (1)iPodにKINOPPIXをインストールして    X40に接続してKINOPPIXをブート。 (2)hdaからDDコマンドで「MBR」を抽出    dd if=/dev/hda of=/外部ドライブ/MBR bs=512 count=1 (3)hda2からリカバリデータを抽出    dd if=/dev/hda2 of=/外部ドライブ/thinkpad-x40-hda2.image (4)X40のHDDを取り外して、新品で購入した20GBのHDDを換装 (5)iPodからKINOPPIXをブート。 (6)fdiskで元のHDDの状態にパーティションを切る。 (7)ddコマンドでリカバリ領域を復元    dd if=/外部ドライブ/MBR of=/dev/hda bs=446 count=1    dd if=外部ドライブ/thinkpad-x40-hda2.image of=/dev/hda2 bs=8192 (8)「おっしゃ!これで直ったはず!」と思いX40を起動し    ThinkPadロゴ画面で「Access IBM」ボタンを押下。 (9)「Startup Interrupt Menu」 が表示されて    真っ暗な画面の左上に白いカーソル1つ、という画面になる。 (10)もうダメかも・・・ orz ←いまココ ※ちなみに、外付けDVDドライブ、外付けFDDドライブはありません。

  • grub-installが不可能なので、違う方法がありますか?

    Vine Linux 3.0 をインストールしました。 システムコマンダーからブートできないため、試行錯誤しています まず、/sbin/grub-install /dev/hda が comand not found となり、何をどうすれば良いか知識がありません。 となれば、Linux専用MBRファイルを作成するのが良いかと思い付きました。 hda1 WinME(20GB)とシステムコマンダー8.0 hda2 WinXP(30GB) hda3 /boot(47MB) hda4 拡張 hda5 /(26GB) hda6 swap(1024MB) 現在は、GRUBをFDよりブートし、Vine が起動できています。 title Linux root (hd0,2) kernel /vmlinuz root=/dev/hda5 ro #initrd /boot/initrd.img そこで、FDブートではなく、MBRファイルを作成し、システムコマンダーよりMBR指定での起動としたいのです。 # dd if=/dev/hda of=/bootlnx bs=512 count=1 このようなコマンドでよろしいでしょうか。 ただ、bootlnxファイルをバイナリで見ても全て 00 の表示のような感じでしたが、正常に作成されていないのでしょうか。 何か良いアドバイスありましたら宣しくお願いします。

  • ddコマンドについて

    % dd if=/dev/zero of=zero.dat count=1000 ⇒ 512*1000 バイトの zero.dat が生成される % dd if=/dev/zero of=zero.dat count=2048 bs=1 ⇒ ブロックサイズを 1 に指定。2048 バイトの zero.dat が生成される http://x68000.q-e-d.net/~68user/unix/pickup?dd とのことですが、では/dev/zeroが50バイトだった場合ファイルサイズはどのようになり、もし増えた分はなにが中に入っているのでしょうか。 ご存知の方、アドバイスをお願いします。

  • デュアルブートがうまくいかない

    Windows2000pro(Cドライブ 40GB) 空のHDD(Eドライブ 20GB) という環境で、EドライブをフォーマットしてFedoraCore3をEドライブにインストールしました。 インストールしたHDD単体ではFedoraCore3は起動します。 デュアルブートしようと、過去ログを調べたところ、 http://www.a-yu.com/system/nt03.html のページが紹介されていたので、参考にしてNTローダでOS選択までできました。 しかし、FedoraCore3を選択しても起動しません。 bootsect.pbrの作り方に問題があるのかとおもって、以下試した結果です。 # dd if=/dev/hda2 of=bootsect.pbr bs=512 count=1 の場合。。。「画面左上に「_」が点滅したままの状態だった」 # dd if=/dev/hda1 of=bootsect.pbr bs=512 count=1 の場合。。。「画面左上に「_」が点滅したままの状態だった」 # dd if=/dev/hdb of=bootsect.pbr bs=512 count=1 の場合。。。「画面左上に「GRUB」と表示されたままの状態だった」 。。。という結果でした。 他になにかしなければならないことがあるのでしょうか。ご存知なかた、ご教授お願いします。

  • Linuxコマンド

    Linuxコマンドのついて質問です。 Knoppixを使って >su - >umount /dev/hda >dd if=/dev/zero of=/dev/hda bs=512 count=1 と実行しようとしたのですが、/dev/hdaが読み込み専用モードとなっているためうまくいきません。書き込みも可能にするにはどのようなコマンドがあるのでしょうか? ちなみにKnoppixを起動すると途中でモニタ出力されなくなるのでコンソールで作業しています。よってGUIは使えません。 よろしくお願いいたします。

  • テープに書いたブロックサイズの調べ方

    テープドライブにddコマンドででバックアップをとりリストアを行おうとのですが、そのときのブロックサイズが分からなくなりました。 dd if=/dev/rmt/*bn of=/dev/null bs=*** count=1 でいろいろなブロックサイズを試しましたが分かりません 簡単にブロックサイズを調べる方法をご教示ください。 ソラリスを使っています

  • KNOPPIX MBRのバックアップについて

    (「日経Linux WindowsからLinuxに乗り換えよう」という本を見ながら手順に沿ってやっていたところで詰りました。) 1CD LinuxのKNOPPIXでMBRのバックアップを取りたいのですが…。 手順通り、まずフロッピーをフォーマットしました。 その次に、ターミナル画面を出して、MBRのバックアップをするコマンド $ dd if=/dev/hda of=/mnt/floppy/MBRbakbs=512 count=1 と入力すると出来るらしいんですが実際入力すると、 dd:opening ~/dev/hda': 許可がありません と表示され、バックアップされないようです。 (都合上、一部別の記号を代用しています。) この場合どうすればいいのでしょうか? どこに問題があるのでしょうか?

  • WindowsXPとLinuxのデュアルブートができません。

    ・HDD2つです。 ・BIOS (dell A07) ・1つめ /dev/hda 20Gに WindowsXPをインストール。⇒⇒正常稼動確認済み。 ・次に、2つめ /dev/hdb 30Gに、Linux(CentOS)をインストール。 ・ブートローダgrubは、1つめ /dev/hda のMBRにインストール。 ・マシン再起動すると、GRUBという文字が表示されただけで、止まる。 以上のような現象です。 ・ブートローダはGrubを使用したいですが可能でしょうか? どうぞよろしくお願いします。

  • ddを使ったバックアップについて教えてください。

    hda1からランレベル5で起動したCentOSで dd if=/dev/hda1 of=/dev/hdb1とし、hda1にはいっている CentOSを複製し、複製したHDDをひとつだけをプライマリマスタ につないで起動しようとするのですが、GRUBのエラーで起動することができません。ddで複製するときにはCDROMブートのLinuxなどでddコマンドを実行する必要があるでしょうか? それともddコマンドでOSのバックアップをとったり、複製したりするのは無理でしょうか?