Легко навчити вас створювати навчальний посібник XP+Linux+Win7 для трьох систем Насправді основна проблема багатосистемного завантаження — це як завантажитися, тому часто зустрічаються дві встановлені операційні системи, але їх неможливо завантажити, або після перевстановлення однієї іншої не може завантажитися Тож давайте спочатку поговоримо про керівництво Припустимо, що встановлені операційні системи — це всі серії Windows, такі як Win98, Win XP та Win 7 Далі є принцип, що спочатку встановлюється найстаріша система, наприклад, спочатку встановити win98, потім XP, а потім win7. Причина насправді дуже проста: ми можемо подумати так: коли Microsoft розробляла win98, розробка XP ще не почалася, тому завантаження win98 точно не підтримує XP, а при розробці XP, враховуючи принцип прямої сумісності, його пристрій завантаження має бути дедалі більш просунутим, і він точно зможе підтримувати попередника, а також попередніх операційних систем. Операційна система win7, встановлена в кінці, може завантажувати попередні операційні системи (теоретично підтримує win98).
Добре, щоб ускладнити проблему, давайте представимо операційні системи на інших платформах (не розроблених Microsoft), наприклад, Linux (ось коротке пояснення дистрибутиву CentOS)
XP, Win7 та Linux — як їх можна встановити на одній машині?
Спочатку ми розглядаємо XP і Win 7, коли є лише ці два, спочатку встановлюємо XP згідно з принципом встановлення старої системи, Потім встановити win7, щоб після запуску через механізм завантаження win7 ми могли успішно завантажити ці дві системи
Тепер ми представимо операційну систему Linux, яка є ще однією платформою, перш за все потрібно зрозуміти механізм завантаження Win7 та Linux
Механізм завантаження Win7: Win7 (включно з Vista), завантаження через bootmgr (менеджер завантаження). Процес завантаження комп'ютера з Windows 7 можна просто підсумувати наступним чином Ввімкнення---- самотестування BIOS---- зчитування головного запису завантаження MBR------Bootmgr takeover---- BOOTMGR читання bcd-файлу (Boot Configuration Data) --- завантаження ядра — системне завантаження Отже, ви можете побачити, що bootmgr зчитує файл bcd для завантаження системи
Механізм завантаження Linux: Існує багато дистрибутивів Linux, таких як Red Hat, Red Flag тощо, ось приклад CentOS Процес завантаження після ввімкнення комп'ютера з CentOS можна підсумувати наступним чином Ввімкнення живлення----BIOS самотестування---- зчитує основний завантажувальний запис, MBR-----grub бере на себе керування---- grub зчитує дані в меню конфігураційного файлу.lst----- завантажує ядро — система завантажується
Ви можете побачити, що різниця між ними: один використовує bootmgr, а інший — grub (ранній — корисний LILO, що не входить до обговорення), і в результаті системне ядро завантажується через них, тоді як bootmgr і grub зазвичай встановлюються на MBR (окремі випадки будуть розглянуті пізніше)
Добре, припустимо, у нас встановлено XP, і Win7, у цьому випадку ми використовуємо bootmgr Win7 для завантаження системи, і в його меню завантаження будуть опції, наприклад: завантажити ранню версію Windows і завантажити Windows7, щоб завантажити відповідну систему, обираючи різні опції (зверніть увагу, що bootmgr встановлений на MBR жорсткого диска тут).
Тепер ми встановлюємо centos на цій основі (якщо встановити grub на MBR жорсткого диска, це перепише MBR жорсткого диска, можна вважати, що ми замінили оригінальний bootmgr на grub), grub повинен успішно виявити існування xp і win7, тож у меню завантаження буде три варіанти, з яких ми можемо обрати (теоретично), щоб три системи співіснують.
Ми дійшли висновку, що спочатку xp, потім win7, і нарешті centos (linux).
-------------------------- складніші ситуації------------------------
Якщо ви вже відчуваєте запаморочення, то не рекомендується продовжувати читання. Я зіткнувся з більш складною ситуацією, бо спочатку встановив xp, потім centos, а потім grub of centos встановлений на MBR, тож якщо я знову встановлю win7, bootmgr замінить оригінальний grub (перепише MBR),
Bootmgr Microsoft не такий розумний, як Linux, скоріше SB, він розпізнає лише своїх братів, тож XP його розпізнає, CentOS — ні, яке рішення?
Тут є два варіанти
1: Спочатку встановіть XP, потім CentOS, без проблем, але Centos Grub не можна встановлювати на MBR (щоб уникнути переписування при встановленні Windows 7), можна встановити його під "/", а потім продовжити встановлення win7, bootmgr все одно не може знайти CentOS, введіть Windows 7, завантажте програмне забезпечення easybcd, відкрийте easybcd, у записі додати/видалення, вибрати Linux, Виберіть grub, додайте ім'я, яке хочете назвати, напишіть будь-яку назву, наприклад centos, Driver виберіть розділ, де розташований Linux. Вибраний тут розділ має збігатися з місцем встановлення grub під час встановлення Linux. Нарешті, додавання запису зберігається, і ви можете побачити два варіанти в налаштуваннях перегляду: один — оригінальна Win7, інший — той, який ви щойно створили. Нарешті перезапускаю — і все гаразд.
По-друге: але я встановив grub of centos на MBR, і коли встановлю Win7, MBR обов'язково буде переписано, що мені робити? Відповідь проста — резервна копія!!
1. Спочатку введіть центо, відкрийте термінал, Введіть dd if=/dev/sda 0f=/root/centos.mbd bs=512 count=1 Ця команда використовується для резервного копіювання mbr, тут я зроблю резервну копію у файл centos.mbr
2 Потім увійдіть у систему XP (XP+CentOS на початку, Win7 встановлена останньою) і встановіть Win7 на жорсткий диск
3 Після встановлення win7 mbr переписали, і bootmgr знову зайняв висоту, але цей SB не знав CentOS, лише досвід, тому нам довелося змусити його знати!
Зайди на win7 і скопіюй раніше резервну копію centos.mbr у системну директорію, я тут на H-диску Запуск cmd у режимі адміністратора Виконайте наступну команду з цією bcdedit /create /d "centos 5.4" /завантажувальний сектор додатків
Результат команди має повертати GUID, який використовуватимуть наступні команди
Виконайте таку команду, щоб встановити розділ, де знаходиться резервна копія завантажувального сектора Linux:
bcdedit /set {GUID} розділ пристрою=H: (Я тут на диску H)
Потім вкажіть шлях для завантаження резервної копії сектора:
bcdedit /set {GUID} path /centos.mbr
Після завершення команди перезапустити — ви побачите, що в налаштуваннях завантаження з'являється більше Linux.
Перезапуск, готово!! У меню bootstrap є три опції 1: Попередні версії систем Windows 2: Запустіть вашу систему Windows 7 3: Centos 5.4 Виберіть відповідне меню для входу
Ми можемо порівняти це так: Суть цієї статті можна підсумувати наступними словами: колись була велика сім'я, було три сім'ї: одна називалася win7, одна — linux, а одна — xp, усі троє жили в місці під назвою жорсткий диск, у сім'ї win7 був син на ім'я BootMGR, у родині Linux був син на ім'я Grub, син сім'ї XP був найбільш 2B, завжди слідував за ними, не маючи права говорити. Сім'ї потрібен хтось, хто буде керувати, тому троє синів змагаються за право керувати, син сім'ї досвіду — наймарніший, знає лише слідувати за двома іншими, спочатку виключено, І бутмгр, і граб — це люди з певними навичками, і обидва кваліфіковані керувати всією родиною У родині є загадкове місце під назвою MBR, і кажуть, що той, хто дізнається про це місце і займе це місце, має право контролювати всю родину Припустимо, Bootmgr контролює це місце, але бутмгр — мегаломан, який не визнає статус сім'ї Linux після того, як має право керувати, а визнає лише ту сім'ю XP, яка ближча до його крові Припускаючи, що Граб контролює це місце, Граб набагато кращий, і ставши адміністратором, він все одно визнає статус трьох сімей і визнає, що вони — нерозривні цілі жорсткого диска Ми хочемо, щоб сім'єю керували добре, тому відповідь проста
Перше: нехай grub, син сімейства Linux, займає MBR і контролює всю сімейство (спочатку встановіть xp, потім win7, і нарешті linux). По-друге: ми також можемо дозволити bootmgr, сину сім'ї win7, займати MBR, але враховуючи його зарозумілу натуру, ми маємо змусити його віддавати накази і визнавати статус сімейства Linux (тобто передавати йому накази через дівчину з easybcd, яка зробила bootmgr завжди схожим на easybcd). |