起動可能なパーティションと起動不可能なパーティションの違い


8

起動可能なパーティションと起動不可能なパーティションの違いは何ですか?ユーザーは、起動不可とマークされたパーティションからシステムを起動できず、起動可能とマークされたパーティションからシステムを起動できないことを知っています。

これらのパーティションフラグの根本的な違いについて知りたいのですが。


1
Linuxブートプロセスとは何かを知っていると役立つ場合があります。ibm.com/developerworks/linux/library/l-linuxboot

@anon_anonええと、その記事は確かに良いものですが、少し古いです。2006年からであり、GRUB Legacyについて議論しています。GRUB 2では、状況が少し変わったと思います(他に何もない場合、GRUB 2のブート「ステージ」には異なる名前を使用します)。GRUB 2にリンクした記事のDeveloperWorksアップデートを見つけようとしましたが、見つかりませんでした。最も近いのはこれです:GRUB 2に移行してください
不条理なジョン

@Rony Ooops。私の答えを更新しました。
不条理なジョン

回答:


6

反対票は投じられましたが、おそらく誰かが質問に答えていないと考えていたためかもしれません...私は、@ Ronyの答えは、bootフラグが何であるかを説明する良い出発点だと思います。(私は実際に彼が提供したものと同様の例から私の答えを始めることを計画していました。)

bootこの時点で、フラグはどのようになっているのかについての答えをぼろぼろにする準備がすべて整いました。現時点では、(@ Ronyの例が示すように)ハードドライブが小さく、ブートローダーがはるかに洗練されていなかった時代の歴史的名残がしばしば無視されます。

しかし、私はこれがこの質問に対するこの回答ですでに述べられていたことを発見しました:ディストリビューションをインストールするときの「起動可能フラグ」オプションとは何ですか?

リンクももっとあったものだブートフラグについての短い記事語ります

  • その主な機能は、MS-DOS / MS Windowsタイプのブートローダーにどのパーティションをブートするかを指示することです。場合によっては、Windows XP / 2000がアクティブパーティションに文字「C:」を割り当てるために使用します。

さて、これは恥ずかしいです...

bootフラグが「歴史的名残」であると私が主張したとき、GRUBがフラグを使用する必要がないことは明らかだったので、これが事実であると想定していました。確かにMicrosoftはまた、「だろう上の移動します」。

通常、オスカーワイルドに起因するよく知られた引用は、この例では真実であることがわかりました。

Windowsオペレーティングシステムで使用されるMBRやPBR(パーティションブートレコード)ローダーと思わDO期待するbootフラグが正しく設定します。

これをテストするために、Windows 8 VMのすべてのパーティションからブートフラグをクリアしました。(以下を参照してください。興味がある場合は、BootInfoスクリプトの完全な結果のペーストビンへのリンクをここに示します)

Drive: sda     
Disk /dev/sda: 26.8 GB, 26843545600 bytes
255 heads, 63 sectors/track, 3263 cylinders, total 52428800 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes

Partition  Boot  Start Sector    End Sector  # of Sectors  Id System

/dev/sda1               2,048       718,847       716,800   7 NTFS / exFAT / HPFS
/dev/sda2             718,848    52,426,751    51,707,904   7 NTFS / exFAT / HPFS

両方のパーティションからフラグをクリアするFATAL: INT18: BOOT FAILUREと、起動しようとするとエラーメッセージが表示されました。(それがWindows MBRブートローダーからのものか、VMに相当するBIOSのものかはわかりません。)

ただ、何が起こるかを見るために、私はまた、設定されboot、「間違った」パーティションにフラグを、/dev/sda2代わりに/dev/sda1。これを行うと、下の画像に示すウィンドウが表示されました。

エラーウィンドウを開始できませんでした

<sigh/>

この経験から、MicrosoftがMS-DOSおよびWindows 3.0 / 3.1に使用していたものと同じMBRブートセクターローダーをまだ使用しているかどうか疑問に思いますか?


3

ユーザーは、起動不可とマークされたパーティションからシステムを起動できず、起動可能とマークされたパーティションからシステムを起動できないことを知っています。

ラップトップのハードディスクから

# fdisk  -l /dev/sda

Disk /dev/sda: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders, total 976773168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x47b94fbe

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1            2048     1999999      998976   83  Linux
/dev/sda2         2000000     9999999     4000000   82  Linux swap / Solaris
/dev/sda3        10000000    89999999    40000000   83  Linux
/dev/sda4        90000000   976773167   443386584   83  Linux

起動可能なUSB Linuxから

# fdisk  -l /dev/sdb

Disk /dev/sdb: 8004 MB, 8004304896 bytes
247 heads, 62 sectors/track, 1020 cylinders, total 15633408 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000a5395

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     2097151     1047552   83  Linux
/dev/sdb2         2097152    15632383     6767616   83  Linux

それらはすべてブート可能ですが、単一のブート可能パーティションはありません。


2

パーティションのテーブルの単なるフラグ。MBRはパーティション内のフラグを検索し、「ブート」フラグのあるパーティションから実行します。


0

従来のMicrosoft MBRを使用する場合、MBRのコードはディスクI / Oの方法を識別し、パーティションを通過して、ブート可能なフラグでマークされているパーティションを確認します。マークを付ける必要があるパーティションは1つだけです。次に、そのパーティションの最初のセクターをチェックし、適切にマークされている場合は、そのセクターを読み取って制御をそこに渡します。私が正しく覚えている場合、そのチェックはセクターが0x55 0xaaで終了することです。

ブートの残りの責任は、そのセクターのコードと、そのセクターがロードするコードにあります。

GRUB2は、このビットを無視して、独自のMBRとプロセスを非常に頻繁に使用します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.