写真集

Camera:Panasonic LUMIX DMC-LX3
Vine Linux と Ubuntu の設定方法など

Windows RE を新しいハードディスクで起動してみました

2011-02-22 20:20:44 | Windows7

Onkyo PCのハードディスクに入っているリカバリー領域(回復パーティション)を新しいハードディスク(HDD)へ引越しさせてみました。
Virtualboxによるテストです。(ONKYO-RECOVERY)

Ubuntu 10.10 (or 10.04)のLiveCDを使用します。

  1. ハードディスクを確認します。
    $ sudu fdisk -l
    ディスク /dev/sda: 500.1 GB, 500107862016 バイト
    ヘッド 255, セクタ 63, シリンダ 60801
    Units = シリンダ数 of 16065 * 512 = 8225280 バイト
    セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    ディスク識別子: 0xcf423475

    デバイス ブート      始点        終点     ブロック   Id  システム
    /dev/sda1               1          39      307200   27  不明
    パーティション 1 は、シリンダ境界で終わっていません。
    /dev/sda2              39        2589    20480000    7  HPFS/NTFS
    /dev/sda3   *        2589       31695   233799680    7  HPFS/NTFS
    /dev/sda4           31696       60801   233793945    7  HPFS/NTFS
  2. MBRのバックアップ
    $ sudo dd bs=512 count=1 if=/dev/sda of=/media/BackupHddName/mbr.img

  3. Windows RE 領域のリカバリー
    自動マウントされないので、RE領域をマウントします。
    $ sudo mount -t ntfs /dev/sda1 /mnt
    $ cp -r /mnt/recovery /media/HddLabelName

  4. Onkyoのディスクイメージを取り出します。
    こちらは自動マウントされていました。
    $ cp -r /media/ONKYO-RECOVERY /media/BackupHddName

    もしマウントされていなければマウントしてからコピーします。
    $ sudo umount /mnt
    $ sudo mount /dev/sda2 /mnt
    $ cp -r /mnt/recovery /media/BackupHddName

  5. C drive からブートに必要なファイルをバックアップします。
    $ mkdir /media/BackupHddName/cdrive
    $ cp /media/Windows\ 7/bootmgr /media/BackupHddName/cdrive
    $ cp -r /media/Windows\ 7/boot /media/BackupHddName/cdrive

  6. BCDファイルを編集します。
    Windows7 のコマンドプロンプトを管理者で起動します。(アクセサリ>コマンドプロンプトを右クリックして、管理者で起動)
    BCDファイルを適当なフォルダへコピーします。
    C:> mkdir d:\editBCD
    C:> copy d:\cdrive\boot\BCD d:\editBSD
    C:> d:
    D:> cd edit\BCD
    D:> d:\editBCD
    D:\editBCD> Bcdedit -store BCD -create {ramdiskoptions} /d "Ramdisk options"
    Bcdedit -store BCD -set {ramdiskoptions} ramdisksdidevice  boot
    Bcdedit -store BCD -set {ramdiskoptions} ramdisksdipath  \recovery\windowsre\boot.sdi
    Bcdedit -store BCD -create /d "onkyo recovery" /application osloader

    エントリ {530a995b-3e72-11e0-a907-0013722cf7bc} は正常に作成されました。
    最後に表示されますので変数BCDIDに登録します。

    set BCDID={530a995b-3e72-11e0-a907-0013722cf7bc}

    Bcdedit -store BCD -set %BCDID% systemroot \Windows
    Bcdedit -store BCD -set %BCDID% detecthal Yes
    Bcdedit -store BCD -set %BCDID% winpe Yes
    Bcdedit -store BCD -set %BCDID% osdevice ramdisk=[boot]\recovery\windowsre\winRE.wim,{ramdiskoptions}
    Bcdedit -store BCD -set %BCDID% device ramdisk=[boot]\recovery\windowsre\winRE.wim,{ramdiskoptions}

    D:\editBCD>bcdedit -store bcd

    Windows ブート マネージャー
    --------------------------------
    identifier              {bootmgr}
    device                  unknown
    description             Windows Boot Manager
    locale                  ja-JP
    inherit                 {globalsettings}
    default                 {default}
    resumeobject            {26d33988-529b-11df-899d-406186e5638a}
    displayorder            {530a995b-3e72-11e0-a907-0013722cf7bc}
    toolsdisplayorder       {memdiag}
    timeout                 30

    Windows ブート ローダー
    --------------------------------
    identifier              {530a995b-3e72-11e0-a907-0013722cf7bc}
    device                  ramdisk=[boot]\recovery\windowsre\winRE.wim,{ramdiskopti
    ons}
    description             onkyo recovery
    osdevice                ramdisk=[boot]\recovery\windowsre\winRE.wim,{ramdiskopti
    ons}
    systemroot              \Windows
    detecthal               Yes
    winpe                   Yes

  7. 新しいHDDにMBRを復元します。
    $ sudo fdisk -l などで新しいハードディスクのデバイス名を確認して下さいね。
    /dev/sda だった場合は
    $ sudo dd bs=512 count=1 if=mbr.img of=/dev/sda

    パーティション復元されます。
    $ sudo fdisk -l
    ディスク /dev/sda: 500.1 GB, 500107862016 バイト
    ヘッド 255, セクタ 63, シリンダ 60801
    Units = シリンダ数 of 16065 * 512 = 8225280 バイト
    セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    ディスク識別子: 0xcf423475

    デバイス ブート      始点        終点     ブロック   Id  システム
    /dev/sda1               1          39      307200   27  不明
    パーティション 1 は、シリンダ境界で終わっていません。
    /dev/sda2              39        2589    20480000    7  HPFS/NTFS
    /dev/sda3   *        2589       31695   233799680    7  HPFS/NTFS
    /dev/sda4           31696       60801   233793945    7  HPFS/NTFS

  8. sda2をNTFSでフォーマットします。
    ONKYO-RECOVERYフォルダ以下をコピーします。ONKYO,RData

  9. sda3をNTFSでフォーマットします。
    bootmgr ファイルをコピーします。
    boot フォルダをコピーします。
    boot ファルダのBCDファイルを6.で編集したBCDファイルと置換します。

  10. Windows RE 領域はsda1に置いても認識されないので Cドライブに置きます。
    recovery フォルダ以下をコピーします。BCDファイルもそのように 6.で編集してあります。
    c:\recovery\system32
    c:\recovery\windowsre

  11. 再起動します。