я восстановил 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-го раздела.
другие посты по теме, которые я проверил:
- какая утилита может переместить загрузочный раздел Windows на другой жесткий диск?
- сборка загрузочного BCD с нуля Bcdedit
- Должно ли устройство и параметры osdevice быть загрузочным или разделом windows?
- Исправление Windows7 Bootmgr
- могу ли я исправить ошибку 0xc0000225 без переустановки Windows?
P. S.: Не другие диски или USB-накопители подключаются к ноутбуку при тестировании.