Windows 7のブートファイル(bootmgrなど)を別のドライブに移動するにはどうすればよいですか?


10

デュアルブート設定が欲しかった。そこで、最初に1台のハードドライブの最初のパーティション(これをHDD1と呼びます)にWindows 7をインストールし、次にHDD1の2番目のパーティションにUbuntu 9.10をインストールしました。残念ながら、これは機能しませんでした(GRUB2をバイパスして、直接Windowsに移行しました)。私はUbuntuを再インストールすることにしました。そのとき、(何らかの理由で)Windowsがブートファイルを別のハードドライブ(HDD3と呼びます)に置くことにしました。

これを修正したいのですが、起動ファイルをHDD3からHDD1に移動したいと思います。デュアルブートの問題を解決するのに役立つかもしれませんが、それでも解決しない場合でも、私の経験では、将来の頭痛の多くを節約できます。これどうやってするの?ファイルをコピーするだけの簡単さではないと思いますが、間違っていることを証明したいと思います:)

回答:


16

いくつかのグーグルを通じて、私は次の解決策を見つけました(上記の質問で参照したように、私はHDD1とHDD3を使用して、気になる2つのハードドライブを表します)。

  1. ブートファイルは、Bootというフォルダーとbootmgrというアプリケーションで構成されます。これらはシステムファイルであるため、通常は非表示です。それらを表示する必要があります。
  2. 両方をHDD3からHDD1にコピーします。これは、2つのファイルがあること文句を言うでしょうコピーすることはできませんBCDBCD.logであり、どちらも、起動フォルダを。後者は重要ではなく(単なるログファイルです)、無視してかまいません。前者は次のステップでコピーされます。
  3. 管理者権限でコマンドプロンプトを開きます。次のコマンドを入力しますbcdedit /export HDD1:\Boot\BCD。HDD1は宛先ドライブのドライバー文字です。私の場合、HDD1はCだったので、コマンドはでしたbcdedit /export C:\Boot\BCD
  4. ここで、エントリがすべて正しくなるようにBCDファイルを編集する必要があります。Windows 7に付属しているbcdeditプログラムを使用しましたが、他にもあります。EasyBCDはかなり良い(そして無料である)と聞きましたが、最新バージョンはWindows 7を完全にはサポートしていません。Windows7をサポートする新しいバージョンがまもなくリリースされると思います。最初に、コマンドプロンプトで(管理者特権で)HDD1 \ Bootに移動し、と入力しますbcdedit /store BCD /enum ALL。私は使用/storeを指定するためのスイッチをBCDの HDD3にあると思うのデフォルトのいずれかを使用します。このスイッチを省略-現在のディレクトリにファイルを。このコマンドは、BCDファイルのすべてのエントリを一覧表示します。
  5. エントリをスキャンしたところ、{bootmgr}との{memdiag}両方のエントリがHDD3を指していることがわかりました。もちろん、私は彼らにHDD1を指し示して欲しい。したがって、私は次の形式でコマンドを発行しますbcdedit /store BCD /set [entry_name] device partition=HDD1:。私のマシンではHDD1はCなので、次のように{bootmgr}入力してエントリを設定しますbcdedit /store BCD /set {bootmgr} device partition=C:

それだけです。最後のステップは、HDD1をDisk Management(コンピューターの管理からアクセスして)アクティブにすることです。HDD1 は既にシステムでアクティブになっているので、何もする必要はありませんでした。

奇妙なデュアルブートの問題については、ハードドライブの順序を物理的に入れ替えたことを忘れていました。そのため、BIOSの起動順序は正しくありませんでした(HDD1ではなく、最初にHDD3から起動しようとしました)。そして、はい、それは私の側で信じられないほど愚かな間違いでした:)


元のファイルのattrribフラグは+ aのみであるため、attribの2番目のステップは必要ありません

これらの指示は非常に有用です。私はwin7のとUbuntuを使用して、いくつかのデュアルブートマシンを持っているし、時間をかけて、私はこれまで最高の恒久的な解決策はBootIT NGのある発見したterabyteunlimited.com/bootit-next-generation.htm
jtreser

ブートマネージャーがシステム予約済みパーティション上にあるという問題が発生した場合は、ディスク管理からドライブ文字を割り当てて、ファイルにアクセスしてコピーできるようにすることができます。正解です。
Nate Bundy

1

最も簡単な方法は、無料のEasyBCDをダウンロードしてインストールすることです。http://neosmart.net/dl.php?id = 1

EasyBCDの「BCDバックアップ/修復」ページには、「すべてのローカルディスクのリストを表示する「ブートドライブの変更」というオプションがあります。必要なディスクを選択するだけで、EasyBCDがプロセス全体を自動化します。たとえば、選択したパーティションをアクティブで起動可能にしたり、古いブートローダーの内容をインポートしたり、MBRに書き込んだりします。

(開示:私はEasyBCDの作成者です)


1
特にuが起動できない場合は、ダウンロードすることをお勧めします
Ewoks 2014年

ダウンロードできない場合は、代わりに起動可能なEasyRE CDを使用できます。neosmart.net/ EasyRE別のPCを使用して起動可能なCDを作成し、そこから起動してPCを修正します。
Mahmoud Al-Qudsi 2014年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.