通常のパーティションに GRUB ブートローダーをインストールするのは完全に安全ですか?

通常のパーティションに GRUB ブートローダーをインストールするのは完全に安全ですか?

Windows と Linux OS をデュアル ブートする方法の 1 つは、Linux パーティションに grub ブート ローダーをインストールすることです。これにより、Windows ブート ローダーを保持し、Windows にデュアル ブート プロセスを処理させることができます。

grub ブートローダが Linux パーティションの先頭のデータを部分的に上書きし、ファイルを破損させる可能性があるのはなぜですか? grub は実際にパーティションの先頭にデータがあるかどうかを確認し、ブートローダを書き込む前にパーティション上の別の場所に移動しますか?

答え1

ext4 を使用しているという入力に基づくと、grub はファイルシステムを破壊しないはずです。ext2 はブート セクター用のスペースで始まります。http://www.makelinux.net/books/ulk3/understandlk-CHP-18-SECT-2

答え2

GRUB は、ファイルを無計画にパーティションにインストールするのではなく、ファイル システム ドライバーを使用するため、既存のファイルを上書きすることはありません。ただし、現在の GRUB ドキュメントでは、Linux ファイル システムへのインストールは推奨されておらず、その方法は「脆弱」であるとされています。MBR と最初のパーティションの先頭の間の無人地帯にインストールするよりも脆弱であるかどうかは議論の余地があります。いくつかのプログラムがその領域にデータを書き込むことはよく知られており、現在、GRUB 開発者は、そのような新しいプログラムが発見されるたびに、GRUB コードにアドホックな回避策を組み込むことを余儀なくされています。基本的な問題は、ext* ファイル システムがブート コード用の固定位置を提供していない (不十分なファイル システムのブート ブロック以外) ため、GRUB は単純なブロック リストを使用するものの、それらのブロックが変更されないことを保証できないことにあるようです。これは、たとえば、ブート コードが固定位置のポインターとファイルを介してアクセスされる NTFS ファイル システムとは対照的です。

答え3

Windows (Vista、7、8 など) は通常、起動用に別のパーティションを作成しようとします。そして、そのパーティションは、ファイル マネージャーなどの通常の Windows 機能ではほとんどの場合見えません。

通常、この Windows ブート パーティションは 100 MB で、「システム予約済み」というボリューム名が付けられ、ドライブ文字は割り当てられません。もちろん、この方法をとらずに Windows を 1 つのパーティションにインストールすることもできますが、そのためには Windows のインストール時に特別な手順を踏む必要があります。

したがって、diskmgmt.msc (ユーティリティを使用するには、Windows のスタート ディスクの検索ペインにこれ​​を入力) などを使用してドライブのパーティションをもう一度確認し、100 MB の「システム予約済み」パーティションがないかどうかを確認します。これはあまり意味がありませんが、Windows には 1 つではなく 2 つのパーティションがある可能性が高いことを示したいだけです。

いずれにせよ、ここではブート マネージャーについて話していることになります。Grub がミスを犯した場合、Windows を起動できなくなるという程度のことしか起こりません。しかし、すべてのデータは安全で、アクセスも可能なはずです。修復は可能ですが、明らかに少し面倒です。(この種の問題を解決するために私が見つけた唯一の「簡単な」方法は、ブート パーティションをフォーマットするか、ブート フラグなどを意図的に台無しにして、DVD の Windows システム回復で修正することです)。

したがって、Grub がデータを上書きするという簡単な答えは、実際には不可能であり、問​​題にもなりません。もちろん、SMART フラグがトリップした故障したハード ドライブがある場合や、データが深刻に断片化されている場合は、別の問題です。パーティションを調整したり、特にフォーマットしたりして、状況を悪化させないでください。

そういえば...Windows パーティションを独自の力でデフラグする前にGParted のような Linux ツールを使用します。パーティションを縮小したり、何らかの方法で調整したりする前にデフラグを行わないと、まったく新しい一連の問題が発生する可能性があります。(したがって、私が警告しなかったとは言えません。)

関連情報