1

У меня возникли некоторые проблемы после применения 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 испортил информацию, связанную с первым разделом. Это дает кому-нибудь идею?

2 ответа2

1

Оказалось, что проблема была в том, что два раздела были помечены как загрузочные, как вы можете видеть в моем втором редактировании, побочным эффектом использования Vista DVD для восстановления MBR. Очевидно, он испортил расширенный раздел, дав ему загрузку ... (нормальный от Microsoft, вы бы сказали).

Решением было использовать gparted и сбросить флаг загрузки.

Я все еще должен исправить MBR и обновить до SP2, для этого есть те две ссылки, для всех, кто заинтересован. Это не было проверено!

Некоторые подробные пояснения по MBR, изменениям в Vista и т.д. Можно найти здесь.

Спасибо за помощь!

0

На самом деле это звучит как проблема с BIOS или контроллером. Похоже, что диск настроен правильно, и первый раздел помечен как активный, так что это не проблема (о чем свидетельствует его правильная работа при «горячей» загрузке / перезагрузке).

Я видел проблемы с холодной загрузкой при сбое чипов контроллера на материнской плате. Я также видел эти симптомы, когда BIOS пытается загрузиться до того, как жесткий диск завершит свою процедуру раскрутки, поэтому он не готов, когда BIOS пытается загрузиться с него. Проблемы раскрутки также могут быть вызваны недостаточной мощностью системы; ускорение привода требует гораздо больше энергии, чем нормальная работа. Они также могут быть вызваны неисправным контроллером накопителя (электроника на самом жестком диске, а не контроллер IDE/SATA на материнской плате).

Я бы попробовал следующее:

  • Вставьте диск в другой интерфейс (вставьте его в другой слот на материнской плате).
  • Установите диск на другой контроллер (используйте дополнительную плату контроллера, а не встроенный контроллер материнской платы).
  • Вставьте диск в другой компьютер (если он загружается в Grub, это не проблема диска).
  • Убедитесь, что все настройки BIOS являются нормальными; Вы можете даже записать текущие настройки и выполнить "восстановление настроек по умолчанию".
  • Попробуйте отключить любые другие диски и ненужные устройства - при необходимости приведите систему к основам (mobo, CPU, RAM, harddrive - используйте встроенную графику, если она доступна).
  • Попробуйте использовать другой диск в качестве системного диска.
  • Попробуйте другой (более мощный) блок питания.

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