Встановлено Centos 7 після Windows і не може завантажуватися в CentOS


11

Я хотів налаштувати подвійне завантаження для Windows 7 та CentOS 7

У мене була машина Windows 7 з диском 500 Гб. Я скоротив розділ Windows, щоб забезпечити місце для CentOS 7 (приблизно 230 Гб). Я створив USB CentOS 7 netinstall stick і завантажився з цього. Я запустив інсталяцію, налаштовану як найкраще, що знав, щоб встановити CentOS 7 у вільний простір (а не на весь диск). Я зробив чисту інсталяцію, і все, здавалося, йшло добре, але коли він перезавантажився, я знову потрапив у Windows і не можу потрапити в CentOS.

Я перезавантажився з USB і намагався виправити ситуацію (ретельно) за допомогою cfdisk, наприклад, вибравши те, що я вважаю, це завантажувальний розділ CentOS, але він повідомляє про "відсутність операційної системи". Також cfdiskговорить, що не може перечитати таблицю розділів, коли я пишу її із завантаженням CentOS, але, починаючи cfdiskзнову, здається, що прапор встановлений.

В даний час USB CentOS 7 netinstall показує мені наступні розділи на диску:

## DATA  
/home 168GB centos-home  

## SYSTEM  
/boot 500MB sda3  
/ 51GB centos-root  
swap 3.85GB centos-swap  

"Інші" розділи Windows:

ntfs 100MB sda1  
ntfs 253GB sda2

Це виглядає нормально, але коли я знову переходжу до інсталяції CentOS 7, це говорить мені, що я повинен створити точки монтажу для кореневого розділу. Я цього не робив спочатку, оскільки думав, що це буде зроблено автоматично, коли я вперше встановив кнопку "Натисніть тут, щоб створити їх автоматично" для установки диска.

А таблиця розділів, доступ до якої використовується cfdisk"Rescue a CentOS system ...", виглядає приблизно так:

Unusable 1MB  
sda1 Primary ntfs 105MB    
sda2 Primary ntfs 265GB  
sda3 Boot Primary xfs 525MB    
sda5 NC Logical LVM2_member 235GB  
Logical Free space 0.03MB

Як вже згадувалося, коли я намагаюся завантажуватися з цією конфігурацією, я отримую "відсутню операційну систему". Якщо я змінити прапор завантаження назад на sda1, він завантажується в Windows 7 штрафу.

ОНОВЛЕННЯ №1

Я (пере) встановлений grub2за допомогою grub2-installnetinstall /dev/sdaі тепер, коли я завантажуюся з диска, я отримую grubпідказку. Я можу використовувати його для ланцюгового завантаження в Windows. Однак, коли я намагаюся завантажуватися в CentOS 7, я отримую якийсь слід / дамп.

Я використав:

linux  (hd0,msdos3)/vmlinuz-3... root=/dev/sda3
initrd (hd0,msdos3/initrd-plymouth...
boot

ПРИМІТКА. Я вважаю, що linuxце основний завантажувальний розділ для CentOS

Спроба вищезазначеного просто виходить з ладу.

ОНОВЛЕННЯ №2

Я встановив NTFS-3G та NTFSPROGS за допомогою yumсховища EPEL.

Я забіг grub2-mkconfig -o /boot/grub2/grub.cfgі перезавантажився, щоб знайти меню завантаження Windows 7 (Loader). Але коли я вибираю його, я отримую:

error: no such device 978778...
error: hd1 cannot get C/H/S values....

що зовсім не добре, але принаймні деякий прогрес.

Я також повинен сказати, що зараз у мене є CentOS 7 тільки на внутрішньому диску, і я працюю на цьому накопичувачі як зовнішній USB-накопичувач (звідси /dev/sdb).

Може хтось, будь ласка, допоможе мені завантажити Windows до завантаження?

У мене є Unix фон, але в основному я використовую Mac OS X. Я завжди відклеююсь від налаштування подвійного завантаження Windows та Linux.

Нарешті, у мене система CentOS 6.5 працює на іншій машині, а також на моєму Mac.

Відповіді:


4

Можливо, ви встановили неправильний розділ Windows.

Шукайте невеликий розділ розміром 100 або 300 Мб ( завантажувальний розділ Windows), змонтуйте його та знову запустіть команду.

Якщо у вас все ще виникають проблеми, додайте наступне в кінці /etc/grub.d/40_custom:

menuentry "Windows"{
    set root='(hd0,0)'
    chainloader +1
}

Це припустимо, що завантажувальний розділ Windows є першим розділом першого жорсткого диска.

Не забувайте бігати grub2-mkconfig.


3

Монтуйте перегородку вікон. (Якщо ви не можете встановити встановлення ntfsprogs-2013.1.13-5.el7.x86_64.rpm та ntfs-3g-2013.1.13-5.el7.x86_64.rpm )

Запустити як корінь grub2-mkconfig -o /boot/grub2/grub.cfg


Дякуємо за коментар Після багатьох спроб налагодити цю роботу я поставив новий диск і встановив лише Centos 7. Однак я все ще хочу, щоб інший диск працював з Windows, тому я поставив диск на іншу машину і буду слідувати вашому напрямку. Знову дякую!
Ешлі Айткен

Зробив це. Тепер отримуємо запис у меню завантаження :-) Але тепер отримайте: помилка: немає такого пристрою 787776677 ... помилка: hd1 не може отримати значення C / H / S ...
Ешлі Ейткен

це чудово спрацювало з Windows 7 та CentOS 7. спасибі.
Натан Маккой

2

Перевстановіть завантажувач CentOS (будь то LILO чи GRUB). Інсталятор завантажувача повинен розпізнавати ОС на вашій машині та автоматично показувати вам вибір ОС під час завантаження. CMIIW.


Спасибі Аде. Я вважаю, що CentOS 7 використовує Grub2, тому перевстановлю це. Я думаю, це йде в завантажувальний розділ на 500 Мб, але я подумав, що ця проблема більше стосуватиметься MBR (або щось подібне). Чи встановить це Grub2 відповідним чином?
Ешлі Айткен

2

Я пробував подвійне завантаження з вікном 7 та centos 7 протягом 2 днів, і я це зробив. Просто виконайте прості дії.
Встановіть вікно 7
Потім центос 7
При перезапуску ПК ви не побачите жодної опції завантаження для Windows 7 в grub.
Увімкніть перемикач centos на su
команду використання. cfdisk
Потім перевірте наявність прапорів, де написано завантаження, повідомте про цей розділ.
Потім відкрийте файл grub у файлі /boot/grub2/grub.cfg, спочатку скопіюйте файл grub.cfg, скопіювавши його як grub.old.cfg, відкрийте файл. і відредагуйте його за допомогою

menuentry "WINDOWS"{
set root='(hd0,msdos1)' 
chainloader +1
}

змінити значення msdos за допомогою розділу, де вказано завантажувальний прапор. ніби прапор завантаження знаходиться в / dev / sda1, тоді msdos1 якщо / dev / sda2, то msdos2.

Не забувайте бігати grub2-mkconfig

Сподіваюся, вам це стане в нагоді.


Сподіваюся, що ОП обрала це як прийняту відповідь. Для мене прекрасно працювали: nrecursions.blogspot.in/2015/12/… , але краще було б мати сторонній завантажувач, який автоматично розпізнає ОС на розділах: superuser.com/questions/1009739/…
Nav

1

Виявив, що додавання файлу 11_windows в /etc/grub.dбуло більш корисним:

Зміст:

#!/bin/sh
cat << EOF
menuentry "WINDOWS"{
set root='(hd0,msdos1)' 
chainloader +1
}
EOF

Потім запустили grub2-mkconfigпісля збереження резервної копії grub.cfgв /boot/grub2.

До результатів додано запис "WINDOWS" у меню grub під час запуску.

Моя справа була для Windows10, але повинна бути такою ж.


Формат команди grub2-mkconfig:
ств

1
cd / boot / grub2; grub2-mkconfig --output = grub.cfg
ств

1

Я два дні намагаюся подвійний завантажувач з вікном 7 та centos 7, і я це зробив. Просто виконайте прості дії. Встановіть вікно 7 Потім центос 7 При перезапуску ПК ви не побачите жодної опції завантаження для Windows 7 в grub. Перейдіть на centos, перейдіть на команду cfdisk, потім перевірте, чи немає прапорів, де написано завантаження, повідомте про цей розділ. Потім відкрийте файл grub у /boot/grub2/grub.cfg спочатку створити резервну копію файлу grub.cfg, скопіювавши його як grub.old.cfg відкрити файл і відредагуйте його

menuentry "WINDOWS" {set root = '(hd0, msdos1)' chainloader +1} змінює значення msdos з розділом, де вказано прапор завантаження. ніби прапор завантаження знаходиться в / dev / sda1, тоді msdos1 якщо / dev / sda2, то msdos2.

Не забудьте запустити grub2-mkconfig

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.