Я недавно обновил свой компьютер и установил Windows 8 на SSD. Теперь у меня есть мой старый загрузочный жесткий диск с Windows 7, и я хочу подключить его к моему новому компьютеру, чтобы использовать его как хранилище данных вместо загрузочного жесткого диска. Однако всякий раз, когда я подключаю его, Windows 8 пытается загрузиться и пытается запустить утилиту восстановления. Если я оставлю старый жесткий диск не подключенным, Windows 8 загрузится нормально.

Жесткий диск Windows 7 имеет несколько разделов и был настроен для двойной загрузки с Linux. Он использует старый формат MBR и использовался с материнской платой с обычным BIOS. Новая система использует таблицы GPT с материнской платой UEFI.

Жесткий диск Windows 7 не является загрузочным диском, указанным в mobo, и находится в слоте SATA после SSD.

Я подозреваю, что есть проблема с диском, определяемым как загрузочный.

Есть ли способ сохранить таблицу разделов, но сделать ее не загружаемой?

Или это, может быть, еще одна проблема?

Обновить

Поэтому я попробовал несколько вещей, чтобы заставить это работать должным образом. Я считаю, что проблема связана с тем, что менеджер загрузки Windows по какой-либо причине пытается загрузиться с жесткого диска Win7, когда он подключен. Я понял это после того, как очистил MBR на Win7, и он все еще пытался загрузиться с него.

Интересно, что это не удалось почти так же, как с MBR и без. Может быть, потому что он ищет раздел GPT и получает MBR?

Итак, теперь, когда я сузил его до диспетчера загрузки Windows (с помощью terdon), я смог получить эту информацию о загрузке:

Microsoft Windows [Version 6.2.9200]
(c) 2012 Microsoft Corporation. All rights reserved.

C:\Windows\system32>bcdedit

Windows Boot Manager
--------------------
identifier              {bootmgr}
device                  partition=\Device\HarddiskVolume4
path                    \EFI\Microsoft\Boot\bootmgfw.efi
description             Windows Boot Manager
locale                  en-US
inherit                 {globalsettings}
default                 {current}
resumeobject            {1b65e2bf-23e8-11e3-b714-d8efdcc6606f}
displayorder            {current}
toolsdisplayorder       {memdiag}
timeout                 30

Windows Boot Loader
-------------------
identifier              {current}
device                  partition=C:
path                    \Windows\system32\winload.efi
description             Windows 8
locale                  en-US
inherit                 {bootloadersettings}
recoverysequence        {1b65e2c1-23e8-11e3-b714-d8efdcc6606f}
recoveryenabled         Yes
isolatedcontext         Yes
allowedinmemorysettings 0x15000075
osdevice                partition=C:
systemroot              \Windows
resumeobject            {1b65e2bf-23e8-11e3-b714-d8efdcc6606f}
nx                      OptIn
bootmenupolicy          Standard
bootlog                 Yes
sos                     Yes

Глядя на загрузчик, кажется, что он ищет раздел "C:". Который, конечно, та же буква диска, что и старый жесткий диск Win7. Так, может быть, он получает не тот диск "C:"? Итак, как мне изменить это? Я пытался изменить буквы дисков на разделах через менеджер жесткого диска, но безрезультатно.

С другой стороны, я смог запустить диск в Win8, включив горячую замену моего порта SATA через материнскую плату. И диск полностью читабелен (таблицы разделов не повреждены).

1 ответ1

0

Задача решена! Технически.

Преобразовав диск из MBR в GPT, я смог загрузить систему с обоими дисками. Как упоминалось ранее, я управлял доступом к жесткому диску (Win7), включив поддержку горячей замены на материнской плате и подключив кабель SATA после загрузки. Хотя я мог бы так же легко перейти к машине MBR, подключить ее, установить приоритет загрузки BIOS, чтобы не включать жесткий диск, и работать с ним на другой машине.

Тем не менее, как только он был подключен, я скопировал все свои данные на другой диск. Затем я открыл инструмент управления дисками Windows 8, удалил все разделы. У меня возникли некоторые проблемы, поскольку он отказался удалить один логический раздел с ошибкой "На диске недостаточно места для удаления" (или что-то в этом роде). Итак, я открыл командную строку администратора и сделал следующее с diskpart:

diskpart
list disk
select disk 3      // The win7 HDD
detail disk        // Really make sure I'm on the right disk
list partition
select partition 0 // The only one left was the logical partition
delete partition

Теперь, когда последний раздел удален, диспетчер дисков Windows 8 позволит мне щелкнуть правой кнопкой мыши диск и нажать "Преобразовать в GPT".

В процессе преобразования в GPT что-то на диске было стерто, что менеджер загрузки Windows 8 считал "загрузочным" флагом. И теперь система загружается с обоих дисков.

Однако мне пришлось удалить мои данные. Которого я пытался избежать. Оглядываясь назад, было несколько способов сделать преобразование без потери данных. Смотрите метод gdisk. Или просто погуглите это.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .