Попередньо встановлено Windows 8 та Linux UEFI з подвійним завантаженням на ноутбуці


10

Я намагаюся налаштувати Windows 8 та Arch Linux на новий Sony Vaio E14 з попередньо встановленими Windows 8.

Так далеко:

  • встановив W8 на мій новий SSD (перейшов на оригінальний жорсткий диск) за допомогою Recovery Media
  • зменшив розділ W8, видалив розділ відновлення, відключив заміну
  • підтверджено завантаження W8 просто чудово

В арку:

  • відключена безпечна завантаження у біосах
  • підтверджено завантаження W8 просто чудово
  • Завантажив Arch з компакт-диска та встановив усе на 4-й та 5-й розділи
  • встановити rEFInd для завантажувача ядра EFIstub

Після цього стало гірше. Мені не вдалося завантажувати нічого іншого, ніж Windows 8 (хоча я радий, що вони принаймні продовжували працювати нормально).

Спробував:

  • створивши EFI \ refind \ і помістивши .efi туди (відповідно до посібника з Arch
  • перезапис EFI \ boot \ bootx64.efi
  • перезапис EFI \ Microsoft \ Boot \ bootmgr.efi
  • перезапис EFI \ Microsoft \ Boot \ bootmgfw.efi --- YAY rEFInd з'являється!

Все йде нормально. Я зберігав увесь каталог W8 Boot \ в EFI \ windows8 і створив для нього меню завантаження; і це завантажувалося просто чудово.

Але при перезапуску все було не так - "Операційна система не знайдена" замість будь-якого завантажувача (refind або w8).

Завантажившись назад в Arch, використовуючи живий компакт-диск, щоб з'ясувати, що на розділі EFI була помилкова таблиця FAT. fsck.vfat виправив це, і я виявив, що EFI \ Microsoft \ Boot повернувся до початкового стану (усі файли уточнення видалені та замінені завантажувачами W8). Я перезаписав їх ще раз і повернувся до rEFInd, показуючи правильно, і Arch є ідеально завантажувальним.

Після цього я спробував лише перейменувати EFI \ Microsoft \ Boot \ bootmgfw.efi в bootmgfw.001.efi (потім скопіював. Reffi. Спробував позначити розділ GPT EFI як результат лише для читання, той самий результат.

Зараз мені щось не пощастило. Arch завантажує чудово, як і W8, але це руйнує розділ EFI в процесі.

Дякую за будь-які ідеї, Гуглінг завів мене так далеко, і я не можу знайти кращого.

PS - windows 8 MAYBE знищує розділ при відключенні - коли я замовляю відключення в W8, це займає незвично довге (близько півхвилини замість ~ 5 секунд). Тож теоретично я міг би вирішити це шляхом жорсткого скидання ноутбука замість нормального відключення, але це просто не приємно.


Боюся, я не можу допомогти тут, у мене немає машини UEFI для тестування матеріалів. Незважаючи на те, що це може бути не самий бажаний спосіб зробити це, ви можете спробувати додати запис Linux до завантажувача Windows і завантажитися там, але я не пробував цього на машині UEFI. Дивіться тут процедуру: superuser.com/a/499652/18050 Крім того, я завжди використовую Archboot для встановлення Arch, дайте йому знімок, якщо ви використовуєте офіційні зображення, тому що при установці враховуються системи UEFI: bbs.archlinux. org / viewtopic.php? id = 150833
Xandy

Це звучить як конфлікт між Arch Linux і тим, що робить Windows 8. Ви спробували інший дистрибутив, щоб керувати його просто не Arch Linux, у якого є проблема?
Рамхаунд

Дякую за пропозицію easyBCD, я обов'язково спробую це. Мені все одно, який диспетчер завантаження використовується, тому якщо Windows може це зробити, я буду більш ніж задоволений. Опублікуйте результати завтра, коли знову буде вільний час від роботи, щоб щось зіпсувати :) @Ramhound, це було б болю в цей момент, і я не думаю, що це пов'язано з Arch - rEFInd - це окремий проект, і я встановив це все вручну (слідкуючи за людиною).
itchy355

Відповіді:


5

Можливо, варто скористатись холодним відключенням (натисніть кнопку живлення) у Windows, щоб побачити, чи можете ви після цього завантажуватися, як тест. Очевидно, ви б не хотіли цього робити регулярно, але може бути корисним підтвердити, що Windows перезаписує ваші оновлені дані ESP. Якщо це фактично пошкоджує файлову систему при відключенні Windows, то це звучить як помилка Windows, про яку слід повідомити Microsoft. Якщо це просто заміна bootmgfw.efiфайлу, це технічно в межах Microsoft, тому це насправді не помилка.

Якщо говорити загалом, ви намагалися використовувати efibootmgrпрограму Linux для реєстрації rEFInd в EFI під своїм іменем (скажімо, EFI/refindна ESP)? Це описано в документації rEFInd, в розділі про ручну установку Linux. Крім того, ви можете встановити за допомогою install.shсценарію. Будь-який метод вимагає завантаження режиму EFI для успіху, але ви повинні це зробити, використовуючи компакт-диск rEFInd або завантажуючи з аварійного диска в режимі EFI.

Якщо efibootmgrце не працює, спробуйте скористатися bcfgпрограмою оболонки EFI, як описано на цій сторінці вікі Arch.

Якщо ці процедури не працюють, спробуйте використовувати efibootmgrабо bcfgдля видалення запису для bootmgfw.efiз NVRAM , а потім встановити rEFInd , як EFI/BOOT/bootx64.efi. Теоретично комп'ютер може запустити rEFInd, який повинен нормально працювати і включати завантаження будь-якої ОС. Є два можливих підводних каменів, хоча: Вбудоване програмне забезпечення може сприяти EFI/Microsoft/boot/bootmgfw.efiбільш EFI/BOOT/bootx64.efi; і Windows може перевірити свої параметри завантаження і додати свій власний завантажувач назад до NVRAM, коли він завантажується. Все-таки цей метод варто спробувати.

Специфікація EFI вимагає, щоб комп'ютери виконували параметри NVRAM (якими керує efibootmgrLinux, bcfgоболонка EFI або подібні програми), тому якщо ці утиліти не працюють, ваша прошивка зламана, і ви можете розглянути можливість повернення комп’ютер для іншої моделі. (Обов’язково скажіть Sony, чому ви повернули комп'ютер, якщо це зробите!) Цей тип проблем насправді досить поширений; Наприклад, у мене є гігабайтна плата з "Hybrid EFI", яка постійно забуває про налаштування NVRAM. Принаймні, з цією дошкою, однак, можна обійти проблему, назвавши свого вибору менеджера завантажувача / завантажувача EFI/BOOT/bootx64.efi.

Якщо ви не можете змусити його працювати і не бажаєте або не можете замінити комп'ютер, у мене є ще дві пропозиції щодо вирішення проблем:

  • Ви можете тримати під рукою флешку, що завантажується, або флешку під рукою з rEFInd на ній та використовувати її, коли ви хочете завантажувати Linux. Це може зажадати використання функціональної клавіші, щоб повідомити комп'ютеру завантажуватися зі знімного носія, а не з жорсткого диска при кожному завантаженні.
  • Ви можете стерти розділи з диска, переділити за допомогою MBR та перевстановити обидві ОС в режимі BIOS, а не в режимі EFI. Це видалить будь-яку лущистість EFI з зображення і дасть змогу використовувати GRUB-режим GRUB в якості завантажувача. Це, мабуть, потребує роздрібної копії інсталятора Windows 8; принаймні для Windows 7, копії OEM були нестабільними щодо режиму встановлення (BIOS проти EFI). Крім того, можливо перетворити завантаження з режиму EFI в завантажувач в режимі BIOS без повторної установки. Можливий зворотний перемикач (я збирався опублікувати посилання на сайт, де він описаний, але цей сайт не дозволить мені публікувати більше двох посилань; вибачте), і я, здається, згадую, що я переглядав описи виконання EFI- перетворення в BIOS десь, але я не маю зручної URL-адреси. Пошук у Google може щось вимкнути.

Я наткнувся на цю сторінку після публікації моєї першої відповіді, і це має ще одну можливу причину принаймні частини вашої проблеми: Мабуть, Windows 8 використовує метод відключення, який більше схожий на роботу призупинення на диску. Результат полягає в тому, що змонтовані розділи можуть пошкодитися, якщо ви вимкнете Windows та перезавантажите Linux. Хоча ESP, зазвичай не встановлюється в Windows 7, AFAIK, це може бути , що Windows 8 робить речі по- іншому, або , може бути, ESP буде встановлений в Windows 7 і просто , здається, прихований. У будь-якому випадку ви можете відключити цю функцію Windows 8, ввівши таку команду у вікні командного рядка адміністратора:

powercfg /h off

Дійсно, Windows 8 нічого не ламає при холодному відключенні. Мені не подобається публікувати помилку, адже я все-таки
псую

Я спробував возитися з efibootmgr; це показало, що існує незвично велика кількість менеджерів завантажувачів (більше, ніж я очікувала на 3), що призвело до того, що я краще дивився на своєму диску; і я виявив, що насправді у мене є два розділи EFI: -x Лише другий (/ dev / sda2) був показаний як EFI system partitionGDisk, так що змусив мене думати, що це правильний. Інший - це лише FAT-розділ (sda1) такого ж розміру та стандартної структури файлів EFI.
itchy355

Якщо я змінити порядок завантаження для завантаження rEFInd спочатку, то щось, що називається ,, sony original '', а потім інші, воно перезаписується назад до стандартних (windows, sony original, інші (refind)) PS; що всі сказані з огляду на те, що ,, windows '' є моїм переписанимbootmgfw.efi
itchy355

1
Тим часом я спробував powercfg /h offв w8, і ЦЕ ФІКСОВАНО W8 ПІДРУЧАЄТЬСЯ ЕФІ ПІДПРИЄМСТВО ... ось святий грааль, який я шукав, здається :) ДЯКУЄ, ДЯКУЄТЕ ДЯКУЄ!
itchy355

Я радий почути, що це powercfg /h offвирішило вашу головну проблему. Можливо, вам буде цікаво почути, що я натрапив на інформацію про те, що деякі реалізації UEFI здаються закодованими для переміщення завантажувача під назвою "Windows Boot Manager" вгору списків. Таким чином, перейменування завантажувачів за допомогою, efibootmgrможливо, дозволяє вам встановити rEFInd (або що завгодно) під більш розумним іменем файлу.
Род Сміт
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.