Сделать Windows загрузочной после копирования с одного раздела на другой

я восстановил Windows7 со спасательного DVD, который пришел вместе с моим ноутбуком. Восстановление разбивает SSD-диск на разделы в соответствии с заводскими настройками, но я хотел бы изменить это. Точнее, после завершения восстановления разделы выглядят следующим образом:

root@ubuntu:~# fdisk -l /dev/sda

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1            2048   419432447   209715200   27  Hidden NTFS WinRE
/dev/sda2   *   419432448   419637247      102400    7  HPFS/NTFS/exFAT
/dev/sda3       419637248   839067647   209715200    7  HPFS/NTFS/exFAT

комментарии:

  • /dev/sda2 - это небольшой раздел, который имеет bootmgr и Boot.
  • Windows7 устанавливается на /dev/sda3, которого нет bootmgr на что раздел.

теперь я хотел бы скопировать Windows7 из /dev/sda3 to /dev/sda1 и сделать его загрузочным. Поскольку разделы имеют одинаковый размер, это очень просто в Linux:

root@ubuntu:~# dd if=/dev/sda3 of=/dev/sda1 bs=4096

после этого я изменил тип раздела:

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1            2048   419432447   209715200    7  HPFS/NTFS/exFAT
/dev/sda2   *   419432448   419637247      102400    7  HPFS/NTFS/exFAT
/dev/sda3       419637248   839067647   209715200    7  HPFS/NTFS/exFAT

потом я перезагрузился. Windows7 сапоги от /dev/sda3 (который становится C:) и /dev/sda1 становится D:. Теперь я делаю копию Windows7 загрузочной (см. переключение моего загрузочного диска Windows 7 С D на C с BCDBoot и можно ли скопировать все файлы Windows 7 с одного HD на другой?):

C:> bcdboot d:windows /s d:
Boot files successfully created.

C:> bootsect /nt60 d: /mbr
Target volumes will be updated with BOOTMGR compatible bootcode.
F: (?Volume{b6e65e71-6179-11e5-82c7-806e6f6e6963})
Successfully updated NTFS filesystem bootcode.
??PhysicalDrive0
Successfully updated disk bootcode.
Bootcode was successfully updated on all targeted volumes.

Doublecheck:

C:> bcdedit

Windows Boot Manager
--------------------
identifier              {bootmgr}
device                  partition=DeviceHarddiskVolume2
description             Windows Boot Manager
locale                  en-US
inherit                 {globalsettings}
default                 {current}
resumeobject            {0b9ac05e-6182-11e5-b742-8dbb81fd6d74}
displayorder            {current}
toolsdisplayorder       {memdiag}
timeout                 30

Windows Boot Loader
-------------------
identifier              {current}
device                  partition=C:
path                    Windowssystem32winload.exe
description             Windows 7
locale                  en-US
inherit                 {bootloadersettings}
recoverysequence        {0b9ac060-6182-11e5-b742-8dbb81fd6d74}
recoveryenabled         Yes
osdevice                partition=C:
systemroot              Windows
resumeobject            {0b9ac05e-6182-11e5-b742-8dbb81fd6d74}
nx                      OptIn

C:> bcdedit /store D:BootBCD

Windows Boot Manager
--------------------
identifier              {bootmgr}
device                  partition=D:
description             Windows Boot Manager
locale                  en-us
inherit                 {globalsettings}
default                 {default}
resumeobject            {f38db522-680d-11e5-829a-18f46ae2d7b0}
displayorder            {default}
toolsdisplayorder       {memdiag}
timeout                 30

Windows Boot Loader
-------------------
identifier              {default}
device                  partition=D:
path                    windowssystem32winload.exe
description             Windows 7
locale                  en-us
inherit                 {bootloadersettings}
osdevice                partition=D:
systemroot              windows
resumeobject            {f38db522-680d-11e5-829a-18f46ae2d7b0}
nx                      OptIn
detecthal               Yes

после того, как я загрузил Linux и отметил загрузочный раздел (это можно сделать в Windows, но я использую знакомые мне инструменты):

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048   419432447   209715200    7  HPFS/NTFS/exFAT
/dev/sda2       419432448   419637247      102400    7  HPFS/NTFS/exFAT
/dev/sda3       419637248   839067647   209715200   27  Hidden NTFS WinRE

содержание /dev/sda1 следующее (doublecheck):

root@ubuntu:~# ls -l /mnt/sda1
total 10749077
drwxrwxrwx 1 root root       4096 Sep 25 06:11 Boot
-rwxrwxrwx 1 root root     383786 Nov 20  2010 bootmgr
drwxrwxrwx 1 root root          0 Sep 23 21:50 Config.Msi
lrwxrwxrwx 2 root root         60 Jul 14  2009 Documents and Settings -> /mnt/sda1/Users
-rwxrwxrwx 1 root root 4717092864 Sep 23 21:50 hiberfil.sys
-rwxrwxrwx 1 root root 6289461248 Sep 23 21:50 pagefile.sys
drwxrwxrwx 1 root root          0 Jul 14  2009 PerfLogs
drwxrwxrwx 1 root root       4096 Sep 23 20:35 ProgramData
drwxrwxrwx 1 root root       8192 Sep 23 21:26 Program Files
drwxrwxrwx 1 root root      12288 Sep 23 21:12 Program Files (x86)
drwxrwxrwx 1 root root       4096 Sep 22 22:00 $Recycle.Bin
drwxrwxrwx 1 root root      20480 Sep 23 21:50 System Volume Information
drwxrwxrwx 1 root root       4096 Sep 23 21:05 Temp
drwxrwxrwx 1 root root          0 Sep 23 21:50 Update
drwxrwxrwx 1 root root       4096 Sep 22 21:58 Users
-rwxrwxrwx 1 root root       4112 Jul 19  2011 version
drwxrwxrwx 1 root root      24576 Sep 23 21:02 Windows

выглядит хорошо. К сожалению, когда я загружаюсь, я получаю Bootmgr is missing. Press Ctrl+Alt+Del to restart.

я установил Grub в /dev/sda1 (перезаписывает загрузчик по умолчанию):

grub-install --force --no-floppy --boot-directory=/mnt/sda1/Boot /dev/sda1

следующим /mnt/sda1/Boot/grub/grub.cfg:

menuentry "Windows 7" {
    insmod ntfs
    insmod ntldr
    ntldr (hd0,msdos1)/bootmgr
}

Grub передал управление bootmgr правильно, но оно упорно загружается из /dev/sda3. Когда я удаляю раздел /dev/sda3,начальный экран загрузки отображается, но затем ничего не происходит (загрузка просто зависает).

далее я установил ntldr to /dev/sda1 (скопировано NTDETECT.COM,NTLDR С 64ntfile.zip) с" родным " загрузочным сектором:

C:> bootsect /nt52 d:

и boot.ini:

[Boot Loader]
timeout=30
Default=multi(0)disk(0)rdisk(0)partition(1)Windows

[Operating Systems]
multi(0)disk(0)rdisk(0)partition(1)Windows="Windows 7 (boot.ini)" /fastdetect

после загрузки отображается сообщение "произошла ошибка чтения с диска". Наверняка SSD-диск вряд ли выйдет из строя, поэтому я думаю, что проблема заключается в байт-коде / логике загрузки, который не может правильно обрабатывать адресацию / макет диска. Я установил Grub (как указано выше) с этим конфигом:

menuentry "Windows 7" {
    insmod ntfs
    insmod ntldr
    ntldr (hd0,msdos1)/ntldr
}

и тогда я мог видеть мой меню как boot.ini выше. Когда я продолжаю, компьютер перезагружается без какого-либо сообщения об ошибке (так что я попал в петлю).

как исправить проблему? Приветствуется любое решение для загрузки Windows с 1-го раздела.

другие посты по теме, которые я проверил:

P. S.: Не другие диски или USB-накопители подключаются к ноутбуку при тестировании.

12
задан Community
28.12.2022 15:07 Количество просмотров материала 3320
Распечатать страницу

1 ответ

после того, как вы скопировали sda3 в sda1 есть еще некоторые "указатели" в реестре Windows на sda1, которые указывают на sda3. Проверьте содержимое HKLM\SYSTEM\MountedDevices\DosDevices\C: и D: если они указывают на правильный раздел. (\DosDevices\C: значение является подписью раздела - должна быть подпись для sda1)

для создания загрузочных файлов для sda1: (при загрузке на sda3 сопоставляется с c:, sda1 сопоставляется с d:)

  1. bootsect / nt60 d: / mbr - установка загрузочного кода раздела sda1 (не вредит написать загрузочный код Windows в MBR)

  2. bcdboot d:\windows /s d: - создать BCD на sda1

вам не нужно редактировать существующие системные BCD на sda2 и BCD на sda1!!!

наконец измените активный раздел на sda1.

перезагрузка.

See как перенести файлы загрузки Windows 7 на другой диск/раздел за помощью.

0
отвечен snayob 2022-12-29 22:55

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя

Похожие вопросы про тегам:

boot
clone
partition-recovery
system-restore
windows-7
Вверх