У меня возникли некоторые проблемы после применения Vista SP2 для двойной загрузки (GRUB, Windows Vista 32 бит и Linux OpenSUSE 11.1 x64). Вот история:
- SP2 не удастся установить на последнем этапе (после перезагрузки), при поиске я предположил, что это произошло из-за двойной загрузки, потому что многие другие люди сообщали об этом же сообщении об ошибке в тех же условиях.
- В ожидании поддержки MS, я попробовал несколько вещей с DVD "Repair your computer", консоль:
bootrec /fixmbr
, без эффекта;bootrec /fixboot
, выдает ошибку "Элемент не найден";bootrec /rebuildbcd
, выдает ошибку "Элемент не найден";bootrec /scanos
, находит операционную систему Windows Vista на C:, повторяет попытки, приведенные выше, безрезультатно.
- Служба поддержки Microsoft посоветовала попробовать восстановить автозагрузку с DVD: "Восстановить компьютер", "Восстановить автозагрузку", которая должна переустановить загрузку Windows в MBR. С этого момента HD не будет загружаться.
- С DVD ремонт / консоль, я попробовал команды выше еще раз:
bootrec /fixmbr
, без эффекта;bootrec /fixboot
, больше нет ошибок, нет эффекта;bootrec /rebuildbcd
, больше нет ошибки, нет эффекта;bootrec /scanos
, не находит ни одной ОС.
Затем я попытался с установочного диска OpenSUSE 11.1,
- восстановление загрузочного сектора, добавление загрузчика цепочек для Windows к записи Linux, которую он уже нашел автоматически;
- перезагрузка успешно дала мне меню GRUB, из которого я мог запустить Windows Vista (или Linux).
Проблема в том, что теперь я должен делать это каждый раз. Если я выключу компьютер из Windows Vista или OpenSUSE, в следующий раз, когда он не сможет загрузиться с HD напрямую, мне придется загрузиться с DVD, переустановить GRUB и перезагрузить компьютер. Затем, когда он выполняет горячую перезагрузку, он успешно использует восстановленный загрузчик.
Это может быть сбой HD, и BIOS считывает кэшированную MBR при «горячей» перезагрузке, что объясняет симптомы. Но мне трудно поверить, что grub-install не будет правильно проверять MBR. Кроме того, было бы очень подозрительно, что кластер MBR внезапно сломался бы, когда я использовал опцию восстановления Vista (и также не был бы обнаружен).
Вот список разделов из TestDisk (fdisk согласен с этим): Текущая структура разделов:
1 * HPFS - NTFS 0 32 33 16709 117 48 268435456 [OS]
2 P HPFS - NTFS 16709 117 49 50128 33 17 536870912 [Projects]
3 E extended LBA 50129 0 1 60800 254 63 171445680
5 L Linux Swap 50129 1 1 50390 254 63 4208967
X extended 50391 0 1 53001 254 63 41945715
6 L Linux 50391 1 1 53001 254 63 41945652
X extended 53002 0 1 55612 254 63 41945715
7 L Linux 53002 1 1 55612 254 63 41945652
Vista использует 1 и 2, OpenSUSE 3 (с 5, 6 и 7 в качестве расширенных разделов). Ничего необычного.
Я еще не пробовал Windows Drive:\boot\Bootsect.exe –NT60 All
, потому что я понятия не имею, что он будет делать. Могут быть и другие решения, но я хотел бы знать, если кто-то там уже страдал от той же проблемы и нашел хорошее решение? (Поддержка Microsoft, похоже, не имеет никакого понятия и говорит, что нужно переустановить все, что я даже не уверен, сработает).
Редактировать: только что увидел, что загрузчик GRUB по-прежнему будет работать после сеанса Windows при перезапуске из shutdown /t 0 /r
, так что, похоже, единственная загрузка, которая дает сбой - это холодная загрузка из BIOS. Это делает недействительной теорию кеша навсегда.
Edit2:
Заметил, что grub-install был фактически отключен в OpenSUSE 11.1, он игнорирует параметры и использует стандартный файл конфигурации. Попытка ручной установки дала намек:
Я получаю «Ошибка 17: Не удается смонтировать выбранный раздел».
Это означает, что GRUB не может определить тип раздела, тогда как я могу смонтировать его, указав его NTFS. fdisk -l
также распознает это:
Disk /dev/sda: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x9913fa82
Device Boot Start End Blocks Id System
/dev/sda1 * 1 16710 134217728 7 HPFS/NTFS
/dev/sda2 16710 50129 268435456 7 HPFS/NTFS
/dev/sda3 * 50130 60801 85722840 f W95 Ext'd (LBA)
/dev/sda5 50130 50391 2104483+ 82 Linux swap / Solaris
/dev/sda6 50392 53002 20972826 83 Linux
/dev/sda7 53003 55613 20972826 83 Linux
Я предполагаю, что каким-то образом "ремонт" Vista испортил информацию, связанную с первым разделом. Это дает кому-нибудь идею?