戻る

BCDEdit で 項目を追加する

原典を 見る事

http://www.atmarkit.co.jp/fwin2k/win2ktips/1163bcdedit4/bcdedit4.html
http://diddy.boot-land.net/bcdedit/files/examples1.htm

以下 勝手に改悪してます。また 引用元も 失念しています ので 御容赦 ください。

http://www.atmarkit.co.jp/fwin2k/win2ktips/1163bcdedit4/bcdedit4.html

bcdedit /createで新しい項目を追加する

新しい項目を作成するにはbcdedit /createを利用する。
BCDストアに追加できる項目の種類にはいろいろなものがあるが、
OSをブートさせるには、「bcdedit /create /d "〜〜" /application osloader」
を利用する。「/d "〜〜"」は作成したエントリの説明文(description)である。
エントリを追加後、{〜〜} のようなID数字列が表示されるので、
以後はその数字列を指定して、メニューへの追加
(bcdedit /displayorder 〜 /addlast)、
新しい値のセット(bcdedit /set 〜)などを行う。

C:\>bcdedit …現在の状態の確認

Windows ブート マネージャー
--------------------------------
identifier              {bootmgr}
device                  partition=\Device\HarddiskVolume1
description             Windows Boot Manager
locale                  ja-JP
inherit                 {globalsettings}
default                 {current}
resumeobject            {9191f96f-3a56-11de-8e3c-8ef497690387}
displayorder            {current}
                        {9191f970-3a56-11de-8e3c-8ef497690387}
…(中略)…
C:\>bcdedit /create /d "new vista" /application osloader …作成
エントリ {9191f977-3a56-11de-8e3c-8ef497690387} は正常に作成されました。
 …このID数字列をメモしておく

C:\>bcdedit /displayorder {9191f977-3a56-11de-8e3c-8ef497690387} /addlast 
…メニュー項目の最後に追加
この操作を正しく終了しました。

C:\>bcdedit …追加後の値の確認

Windows ブート マネージャー

…(中略)…
Windows ブート ローダー …追加された項目
--------------------------------
identifier              {9191f977-3a56-11de-8e3c-8ef497690387}
description             new vista

※以下値をセットする例
C:\>bcdedit /set {9191f977-3a56-11de-8e3c-8ef497690387} device partition=c:
この操作を正しく終了しました。

C:\>bcdedit /set {9191f977-3a56-11de-8e3c-8ef497690387} osdevice partition=c:
この操作を正しく終了しました。
…(以下省略)…

 最後に2つ値をセットしているが、実際にはこのほかに
10種類程度の値をセットする必要がある。
どのような値が必要なのかは、ほかのブート項目を参考にしながらセットすればよい。

bcdedit /copyで既存の項目をコピーして追加する

 bcdedit /createでは新規項目をゼロから作成した。
しかしこのような操作をいちいち行うのは面倒であるし、
ミスする可能性もある。既存のOSに対していくつかオプションを設定するだけなら、
元の項目をコピーして、必要な部分だけを上書き設定するのが簡単である。
エントリをコピーするには「bcdedit /copy {〜〜} /d "〜〜"」を使う。
{〜〜} はコピーする元の項目のID数字列、/d "〜〜" は項目の説明文である。

C:\>bcdedit /copy {current} /d "new vista"
 …コピーして追加する
エントリは {852bd6a2-411a-11de-9b8e-001cc08d5d3c} に正常にコピーされました。
C:\>bcdedit …確認

Windows ブート マネージャー
--------------------------------
…(中略)…
Windows ブート ローダー …追加された項目。説明文以外はすべて元のコピー
--------------------------------
identifier              {852bd6a2-411a-11de-9b8e-001cc08d5d3c}
device                  partition=C:
path                    \Windows\system32\winload.exe
description             new vista …説明文
locale                  ja-JP
inherit                 {bootloadersettings}
recoverysequence        {9191f96d-3a56-11de-8e3c-8ef497690387}
recoveryenabled         Yes
osdevice                partition=C:
systemroot              \Windows
resumeobject            {9191f96b-3a56-11de-8e3c-8ef497690387}
nx                      OptIn 

 bcdedit /copyで項目を追加すると自動的に表示リストの最後に追加されるので、
「bcdedit /displayorder 〜〜 /addlast」コマンドの実行は不要である。
エントリを追加したら、次は/setコマンドなどで値をセットする。
以下はnxとdebugオプションを設定する例である。

※データ実行保護(DEP)の設定変更
C:\>bcdedit /set {852bd6a2-411a-11de-9b8e-001cc08d5d3c} nx optin
この操作を正しく終了しました。

※デバッグ・モードをオンにする
C:\>bcdedit /debug {852bd6a2-411a-11de-9b8e-001cc08d5d3c} on
この操作を正しく終了しました。 

bcdedit /deleteで項目を削除する

 ブート・メニューの項目を削除するには、
「bcdedit /delete {〜〜}」を利用する。{〜〜} は削除したい項目の
ID数字列である({current} や {default} などの省略形も利用可能)。
End of Article
※項目の削除
C:\>bcdedit /delete {852bd6a2-411a-11de-9b8e-001cc08d5d3c}
この操作を正しく終了しました。 



~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

■ 	Windows Vista/Server 2008ではBCDストアという
新しいブート・メカニズムを利用している。

■ 	ブート・メニューの表示順序を変更するには
bcdedit /displayorderコマンドを利用する。

■ 	ブート・メニューのデフォルト項目を変更するには、b
cdedit /defaultコマンドを利用する。

■ 	ブート・メニューのタイムアウト時間を変更するには、
bcdedit /timeoutコマンドを利用する。

bcdedit /displayorderで表示順序を変更する

 BCDストアに対応したOS(Windows Vista、Windows Server 2008、Windows 7など)
を複数インストールすると、
通常は後からインストールしたOSがブート項目の先頭に追加され、
その先頭項目がデフォルトのOSとなる。
つまりインストールしたのとは逆順に項目が並び、その先頭がデフォルトのOSとなる。

 この順序を変更するには、bcdedit /displayorderコマンドを利用する。

 まず現在のブート項目の状態をbcdedit /enumコマンド
(bcdeditだけでも可)で確認する
(bcdeditコマンドを実行するには、管理者として実行した
コマンド・プロンプト上で作業を行う)。

C:\>bcdedit …現在の状態の確認  /* List は 手書き 間違いあり  */

Windows ブート マネージャー
--------------------------------
identifier              {bootmgr}
device                  partition=\Device\HarddiskVolume1
description             Windows Boot Manager
locale                  ja-JP
inherit                 {globalsettings}
default                 {current}
resumeobject            {9191f96f-3a56-11de-8e3c-8ef497690387}
displayorder            {current}
                        {9191f96c-3a56-11de-8e3c-8ef497690387}
toolsdisplayorder       {memdiag}     
timeout 		30

デフォルトのメニュー項目の表示
bcdedit /enumもしくはbcdeditコマンドを実行すると、
ブート・メニューの設定情報が表示される。
どのような項目をどの順番で表示するかは、
先頭の「Windows ブート マネージャー」の部分にすべて表示されている。
これは、2つのOSをインストールした後の例。
1)		現在の設定状態を表示させる。
デフォルトでは、後からインストールしたOSが先頭に追加/表示され、
さらにそのOSが起動するように設定される。
2)		この例ではメニュー項目が2つあり、
この順番で表示される。ID数字列のほか、{current} や {default} などが
各メニュー項目を表している。現在起動中の項目は {current} 
という省略形で表示されるが、本来のID数字列を知るにはbcdedit /vを実行する。

 displayorderの欄に表示されている2つの項目(2)に注目する。
これが現在のメニュー項目である。
上側の {current} となっているのが現在起動中のOS(最後にインストールしたOS)
であり、下側の {9191f96f-……} は別の項目(最初にインストールしたOS)である。
本来、各項目はこのようなID数字列で表現されることになっているが、
見やすくするため、{current} や {default} という表記も用意されている
(bcdedit /enum /vとすると常にID数字列で表示される)。
{default} はデフォルト項目を表すが、この例では {current} も {default} 
も同じなので、{current} しか表示されていない。

 表示項目の順番を変更するには、bcdedit /displayorderに続けて、
メニュー項目のID数字列を列挙する。ここでは順番を逆にして指定してみる。

C:\>bcdedit /displayorder {9191f96c-3a56-11de-8e3c-8ef497690387} {current}
この操作を正しく終了しました。

C:\>bcdedit 

Windows ブート マネージャー
--------------------------------
identifier              {bootmgr}
device                  partition=\Device\HarddiskVolume1
description             Windows Boot Manager
locale                  ja-JP
inherit                 {globalsettings}
default                 {current}
resumeobject            {9191f96f-3a56-11de-8e3c-8ef497690387}
displayorder            {9191f96c-3a56-11de-8e3c-8ef497690387}
                        {current}
toolsdisplayorder       {memdiag}     
timeout 		30


メニューの表示項目の順序の変更
表示される項目の順序を変更するには/displayorderオプションを指定する。
1)		bcdedit /displayorderに続けて、
各項目のID数字列(省略形も可)を指定する。
2)		変更後の項目。
先の例と比べると、順番が入れ替わっていることが分かる。

 bcdeditを実行してみると、displayorderの欄の項目が入れ替わっているのが分かる。

デフォルト項目の変更

 上の例では、メニュー項目を入れ替えたが、デフォルトの項目はそのままである。
つまり後からインストールしたOSがデフォルト状態になっている。
これを変更するには、bcdedit /defaultに続けて、
デフォルトにしたいメニュー項目のID数字列を指定する。

C:\>bcdedit  /default {9191f96c-3a56-11de-8e3c-8ef497690387}
この操作を正しく終了しました。


C:\>bcdedit 

Windows ブート マネージャー
--------------------------------
identifier              {bootmgr}
device                  partition=\Device\HarddiskVolume1
description             Windows Boot Manager
locale                  ja-JP
inherit                 {globalsettings}
default                 {default}
resumeobject            {9191f96f-3a56-11de-8e3c-8ef497690387}
displayorder            {default}
                        {current}
toolsdisplayorder       {memdiag}     
timeout 		30

デフォルト項目の変更
デフォルトの項目を変更するには、/defaultオプションを指定する。
1)		bcdedit /defaultに続けて、
各項目のID数字列(省略形も可)を指定する。
2)		デフォルト項目が変更され、
先ほどの {current} から {default} になっている。
3)		表示項目も変更されている。

 1つ上の画面の結果と比べると、
displayorderの最初(1つ目)にあったID数字列が、
{default} という文字に変わっている
(defaultの項目も、{current} から {default} に変わっている)。
これにより、表示されているメニューのうち、
最初の項目がデフォルト項目として設定されたことになる。

タイムアウト時間の変更

 2つ以上の項目が存在する場合、通常は30秒間表示され、
ユーザーが何も操作しないとデフォルトの項目が起動する。
このタイムアウト時間を変更するにはbcdedit /timeoutに続けて、
メニューの表示時間(秒単位)を指定する。

C:\>bcdedit /timeout 10
この操作を正しく終了しました。

C:\>bcdedit 

Windows ブート マネージャー
--------------------------------
identifier              {bootmgr}
device                  partition=\Device\HarddiskVolume1
description             Windows Boot Manager
locale                  ja-JP
inherit                 {globalsettings}
default                 {default}
resumeobject            {9191f96f-3a56-11de-8e3c-8ef497690387}
displayorder            {default}
                        {current}
toolsdisplayorder       {memdiag}     
timeout 		10

タイムアウト時間の変更
タイムアウト時間を変更するには、/timeoutオプションを指定する。
1)		bcdedit /timeoutに続けて、
タイムアウト時間を秒単位で指定する。
ここではデフォルトの30秒から10秒に変更してみた。
2)		10になっている。
この変更により、最後のtimeoutの項目が10(10秒)になっている。End of Article

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
http://diddy.boot-land.net/bcdedit/files/examples1.htm
Create {ntldr} entry

The {ntldr} option can be used to boot legacy operating systems 
including Windows 2000/XP/2003. This option is generally only used in 
dual or multiboot systems. The files boot.ini and ntdetect.com 
(from an existing Windows 2000/XP/2003) will need to be copied to 
the boot partition containing BOOTMGR and the BCD store.

Don't forget to change the device partition= to the drive containing 
your own Windows 2000/XP/2003 installation. 
Also change the description as required.

    * bcdedit.exe /store C:\Boot\BCD /create {ntldr}
    * bcdedit.exe /store C:\Boot\BCD /set {ntldr} device partition=C:
    * bcdedit.exe /store C:\Boot\BCD /set {ntldr} path \ntldr
    * bcdedit.exe /store C:\Boot\BCD /set {ntldr} description "Windows XP"
    * bcdedit.exe /store C:\Boot\BCD /displayorder {ntldr} /addlast

最初は全く理解出来なかった まあ 参考にしたのは 間違いおへん

資料は 沢山あるようなので

http://www.atmarkit.co.jp/fwin2k/win2ktips/index/tipsdir/index.html

へ いって 検索に bcdedit を 入力すると

http://www.google.com/cse?cx=000492183644671384608:zpcmlmr1swi&q=bcdedit&oq=bcdedit&gs_l=partner.3...159337.162383.0.162850.7.7.0.0.0.0.9.20.7.7.0.gsnos%2Cn%3D13..0.0.3048j2700992j7..1ac.1.LX9MRniCBm8

に ゆくので そこにおおよそ 60個 位あるようです。

にゃんたろう 拝!

2013年 6月 10日 月曜日 21:20:17 JST 作成


戻る

Copyright © 2006.-2013. nyantarou All Rights Reserved.