ドライブの起動情報を消去または無効にする方法

ドライブの起動情報を消去または無効にする方法

5つのハードドライブを搭載したコンピュータがあり、オプションを確認するためにBIOSを停止すると、14の起動オプションが表示されます(DVDを含むが無視します)。これはGRUBではなくBIOSのオプションなので、それぞれGRUBメニューに移動し、まったく同じではありません。しばらく前に発生した災害をクリーンアップしているので、一般的な原則に従って、最初の2つのドライブを除くすべてのドライブからブート情報とグラブローダを削除したいと思います。

これらのドライブの一部はGPT形式、一部はMBR形式です。 Windows 10とXubuntuシステムがあります。明らかに、この14の中にはUEFIと標準のブートビューがあります。これらはすべて2002年に始まった歴史を反映しています。それ以来、マザーボードなどが変更されましたが、多くのデータが残っています。

ほとんどのドライブで最初の512バイトを破棄したいのですが、(a)それだけでは十分ではなく(b)完全に安全であるかどうかはわかりません。

それでは、この問題を解決するためのベストプラクティスは何ですか?

ベストアンサー1

ドライブの最初の512バイトを上書きすると、BIOS起動可能ディスクを起動できなくなります。さらに、MBRパーティションテーブルが破損しているため、MBRでパーティション化されたすべてのディスクは後で空でパーティション化されていないように見えます。だから保存するパーティションがあるディスクではこれを行わないでください。

ディスクがMBRパーティションであるがUEFI起動が可能な場合(つまり、FATタイプのファイルシステムがあり、パーティションタイプコードが0xefに設定され、パーティションに\EFI\BOOT\BOOTx64.efi64ビットx86システムパスのファイルが含まれている場合)、優先パーティションテーブルは次のようになります。通過: UEFI 以外のディスクを起動可能にするには、次の作業を実行します。ファイルを削除するか、別の名前に変更してください。

GPTパーティションUEFIブート可能ディスクの場合、最初の512バイトの上書きはまったく機能しません。一部のディスクパーティション化ツールは、保護MBRが破損している可能性があり、自動回復またはGPTパーティション回復の副作用として提供される可能性があります。テーブルは問題なく他のタスクを実行します。

BIOSメニューの追加の起動オプションは、未使用のUEFI起動変数である可能性があります。 oldfredが説明で示したように、sudo efibootmgr -vLinuxでそれを見て、BootXXXX使用されていないアイテムの数を識別して削除するsudo efibootmgr -B -b XXXXために使用します。

パーティションテーブルを破損することなくBIOSブータブルディスクをブート不可能にするのは、実際には少し面倒です。私が知る最も簡単な方法はという小さなユーティリティでms-sys、さまざまなタイプのBIOSマスターブートレコードとパーティションブートレコードに書き込むことができます。 「起動できないディスク」マスターブートレコード。

残念ながら、このユーティリティは最新のUbuntuのパッケージリポジトリでは利用できないようです。ソースコードは次の場所にあります。https://sourceforge.net/projects/ms-sys/(または以前のバージョンのイメージhttps://github.com/pbatard/ms-sysSourceForgeが気に入らない場合)。gcc共通makeアプリケーション開発ライブラリがインストールされている場合は、次のようにビルドできます。

<download the source code package>
tar xvf xvf ms-sys-2.8.0.tar.gz
cd ms-sys-2.8.0
make && sudo make install

成功したら、ツール/usr/local/bin/ms-sysとそのマニュアルページを次に見つけることができます(/usr/local/man/man1/ms-sys.1簡単な方法で見ることができます)。man ms-sys

BIOS 起動可能ディスクを/dev/sdX起動できないようにするには、以下を使用しますms-sys

sudo ms-sys --mbrzero /dev/sdX

--mbrzeroマニュアルページのこのオプションの説明は次のとおりです。

-z, --mbrzero

空の(ゼロ化されて起動できない)マスターブートレコードをデバイスに書き込みます。パーティションマップと署名ID(バイト01be-01ff)を除くすべてのバイトを0にします。 fdiskで作成された空のDOSパーティションテーブルに似ています。

パーティションテーブル(何らかの理由で「パーティションマップ」と呼ばれる)とディスク署名バイトを上書きしないことが重要です。

おすすめ記事