Windowsブートローダーメニューの編集

05.05.2021 ウィンドウズ

私たちは、コンピューターの電源を入れたり再起動したりした後のオペレーティング システムのロードの主な段階を把握し、どのディスク パーティションがシステム、アクティブ、ブートと呼ばれるかを調べ、そこにどのようなファイルとブートローダー要素があるかを調べました。

今日は、Windows ブート オプションの構成を直接編集します。 Windows Vista で初めて登場した最新の Bootmgr ブート マネージャーについて、より正確には、それに付随するシステム ストレージ エディター BCD (ブート構成データ) - bcdedit.exe とそのコマンドについて説明します。

そう言わなければなりません オペレーティング システムのブート メニューを編集するそんなに頻繁には起こりません。 1 台のコンピュータに複数のオペレーティング システムをインストールする必要がある場合、または緊急の場合に、この必要性が生じることがあります。

ブログで公開されている資料の文脈では、ブート構成データを編集する例がすでに何度か出てきています。 たとえば、この記事では、Windows 7 オペレーティング システムに別の (変更された) カーネルをロードする方法が説明されています。 または、仮想ディスクからオペレーティング システムをロードする場合。

ブートローダー メニューを編集するための Windows GUI 機能

bcdedit コンソール エディターの主なコマンドを見始める前に、どのようなコマンドかを見てみましょう。 グラフィックユーティリティ Windows を提供する ブートローダーメニューの編集そしてそれらが非常に制限されていることを確認してください。

「コントロールパネル」の「システム」要素、またはコンテキストメニュー(マウスの右ボタン)の「プロパティ」を開くと、「コンピュータ」→「詳細設定」→「起動と回復」→ 「設定」をクリックすると、「ダウンロードと回復」ウィンドウが開きます >

このウィンドウでできることは、オペレーティング システム (複数ある場合) のドロップダウン リストからデフォルトで起動するシステムを選択し、起動プロセス中にリストが表示される時間を変更することだけです。

GUI (グラフィカル ユーザー インターフェイス) を使用して BCD を編集するための 2 番目のオプションは、システム構成スナップインです。 実行するには、[ファイル名を指定して実行] ウィンドウまたはコマンド ラインに msconfig と入力して実行する必要があります >>

コントロール パネルのシステム アプレットによって提供されるいくつかのオプションに加えて、システム構成のブート タブから非アクティブなブート オプションを削除することもできます。 これはすでに機能していますが、完全な BCD 編集には明らかに十分ではありません。

したがって、GUI のことを忘れてコンソールに目を向ける必要があります。 チーム編集者

Windowsブートマネージャーメニューのコンソール編集

複雑なことは何もありません。 重要なのは、自分が何をしているのか、そしてその理由を理解することです。 ...\Windows\System32 フォルダにある bcdedit.exe エディタは、管理者権限で実行する必要があります。[コマンド プロンプト] を右クリックし、[管理者として実行] をクリックします。

パラメーターを指定しない場合、bcdedit は BCD ストアに記録されているすべてのブート オプション情報を出力します >

表示された画面の一部に表示されるすべての行にコメントすることに特に意味はありません。 また、中には説明がなくてもわかるものもあります。 実際に最も役立つ可能性のあるものに焦点を当ててみましょう。

識別子 - 中括弧 () で囲まれています (コマンドでは括弧が必要です) オペレーティング システムのブート パラメーターが指定される 36 文字、32 桁のレコード番号。 現在ロードされているシステムの場合、番号は (現在) に置き換えられます。 デフォルトで起動するシステムは (デフォルト) として指定されます。

このような長い識別子をキーボードで入力することを避けるために、bcdedit 出力のテキスト コピーを使用すると非常に便利です。 これを行うには、コマンド ライン ウィンドウ内の任意の場所を右クリックし、表示されるコンテキスト メニューで [すべて選択] を選択し、キーボードの [Enter] を押す必要があります。 コンテキスト メニューで [マーク] を選択し、目的の行を選択すると、同様の選択的な結果が得られます。 次に、テキストエディタ「メモ帳」を起動し、クリップボードの内容を新しいファイルに貼り付けます。

device - オペレーティング システムのブート ローダー ファイルが配置されているパーティション。 したがって、「Windows ブート マネージャー」セクションの場合、これはアクティブなシステム パーティションであり、「Windows ブート」セクションの場合、これは特定のオペレーティング システムのブート パーティションです。

description - 起動中にリストに表示されるオペレーティング システムの名前。

path - OS ブートローダーへのパス。

displayorder、timeout – それぞれ、ブート メニューにオプションが表示される順序と、デフォルト OS の読み込みが開始される前にリスト自体を表示する時間 (秒単位)。

パラメータの値を変更するには、適切なキーを使用して bcdedit を実行する必要があります。 たとえば、メニュー内のオペレーティング システムの名前を変更します。
bcdedit /set (ID) description "新しいシステム名" (ID) はこの OS のエントリ識別子です (保存されたテキスト ファイルからの置換が非常に便利な場合)。

bcdedit /displayorder (ID1) (ID2) (ID3)… ブート オプションをメニューに表示する順序を指定します。

1 つのレコードで可能なアクション:
bcdedit /displayorder (ID) /addlast |addfirst |remove| – 最後にエントリを追加 | リストの先頭 | 削除 (メニューからのみ);

bcdedit /timeout XX – メニュー表示時間 (秒)。

bcdedit /default (ID) - デフォルトで起動するシステムを指定します。

bcdedit エディター コマンドの最も可能性の高い使用法

BCD を使用した操作を開始する前にまず行うべきことは、システム ブート構成ストアの内容のコピーを作成することです。
bcdedit /export "C:\Backup\bcd-backup" ここで、C:\Backup\ はストレージ用にランダムに選択されたフォルダー、bcd-backup はストレージ コピーのランダムなファイル名です。

bcdedit /import "C:\Backup\bcd-backup" はその逆のコマンドです。 ブート構成ストアの内容をコピーから復元します。

さまざまなコマンドを使用して、新しいブート エントリを作成できます。 新しいシステムのタイプが既存のシステムと似ている場合は、copy コマンドを使用するのが合理的です。
bcdedit /copy (ID) /d "新しいシステムの名前"

現在のオペレーティング システムが「サンプル」の場合、コマンドは次のようになります。
bcdedit /copy (current) /d "新しいシステム名" このコマンドは、ブート メニューに新しいエントリを直ちに追加します。

新しいブート エントリを最初から作成する場合は、次のものを使用する必要があります。
bcdedit /create /d "新しいシステムの名前" /application osloader ここで、/application はアプリケーションのタイプを指定します。

Windows XP などのレガシー ブート ローダーの NTLDR ブート レコードを作成するには、次の手順を実行します。

bcdedit /create (ntldr) /d "Microsoft Windows XP"

さらに、システム ブート ローダーがどのディスク パーティションに配置されているかを指定する必要があります。
bcdedit /set (ntldr) devicepartition=X: ここで、X: は、ブートローダー ファイルが配置されているパーティションのドライブ文字とそのパスです。
bcdedit /set (ntldr) パス \ntldr

メニューの OS リストの最後にエントリを追加できます。
bcdedit /displayorder (ntldr) /addlast

仮想ディスク (VHD) から起動するシステムのエントリを作成します。

bcdedit /copy (current) /d “System on VHD” - 現在のエントリに基づいて新しいエントリを作成します。

パラメーターを指定せずに bcdedit を実行し、新しい ID (ID) をコピーします。
bcdedit /set (ID) device vhd=\DIR\filename.vhd - ブートローダー ファイルが配置されている仮想ディスク (システム パーティション) へのフル パスを指定します。 ドライブ文字は ; で指定します。
bcdedit /set (ID) osdevice vhd= \DIR\filename.vhd - メインのオペレーティング システム ファイル (ブート パーティション) が含まれる仮想ディスクの場所を指定します。
bcdedit /displayorder (ID) /addlast - 新しいシステム エントリをリストの最後に追加します。

仮想ディスクへの Windows 8.1 のインストールに関する記事では、BCD に対応するブート エントリを作成する別の方法が提供されています。

最後に、削除コマンドを見てみましょう。

bcdedit /delete (ID) – ストレージからエントリを削除します。

bcdedit /deletevalue (ID)<тип_данных>– このコマンドは、ブート構成データ ストアのエントリからデータ項目を削除します。<тип_данных>— 指定されたエントリから削除する必要があるパラメータ。