Zainstalowano Centos 7 po Windows i nie można uruchomić systemu CentOS

11

Chciałem skonfigurować podwójny rozruch dla Windows 7 i CentOS 7

Miałem maszynę z systemem Windows 7 z dyskiem 500 GB. Zmniejszyłem partycję Windows, aby zapewnić miejsce dla CentOS 7 (około 230 GB). Stworzyłem pamięć instalacyjną USB CentOS 7 i uruchomiłem z niej. Uruchomiłem instalację skonfigurowaną jak najlepiej, aby zainstalować CentOS 7 w wolnym miejscu (zamiast na całym dysku). Zrobiłem instalację sieci i wszystko poszło dobrze, ale po ponownym uruchomieniu wróciłem do systemu Windows i nie mogę się dostać do CentOS.

Zrestartowałem komputer z USB i starałem się naprawić sytuację (ostrożnie) cfdisk, np. Wybierając partycję rozruchową CentOS, która zgłasza „brak systemu operacyjnego”. cfdiskMówi także, że nie może ponownie odczytać tabeli partycji, kiedy piszę ją przy użyciu rozruchu CentOS, ale cfdiskponowne uruchomienie wydaje się pokazywać, że flaga została ustawiona.

Obecnie instalacja sieciowa USB CentOS 7 pokazuje mi następujące partycje na dysku:

## DATA  
/home 168GB centos-home  

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

„Innymi” partycjami systemu Windows są:

ntfs 100MB sda1  
ntfs 253GB sda2

Wygląda to OK, ale kiedy ponownie przejdę do instalacji CentOS 7, mówi mi, że muszę utworzyć punkty montowania dla partycji root. Nie zrobiłem tego pierwotnie, ponieważ myślałem, że zrobi to automatycznie, kiedy kliknę „Kliknij tutaj, aby je utworzyć automatycznie” dla konfiguracji dysku przy pierwszej instalacji.

Tabela partycji, do której można uzyskać dostęp za pomocą opcji cfdisk„Rescue a CentOS system ...” wygląda następująco:

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

Jak wspomniano, kiedy próbuję uruchomić komputer w tej konfiguracji, pojawia się „brakujący system operacyjny”. Jeśli zmienię flagę rozruchową z powrotem na sda1, to uruchamia się w systemie Windows 7 w porządku.

AKTUALIZACJA # 1

Zainstalowałem (ponownie) grub2za pomocą programu grub2-installnetinstall /dev/sdai teraz, kiedy uruchamiam komputer z dysku, pojawia się grubmonit. Mogę go użyć do połączenia obciążenia z Windows. Jednak gdy próbuję uruchomić system CentOS 7, pojawia się jakiś ślad / zrzut.

Użyłem:

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

UWAGA: Uważam, że linuxjest to główna partycja rozruchowa dla CentOS

Wypróbowanie powyższego powoduje tylko awarię.

AKTUALIZACJA # 2

Zainstalowałem NTFS-3G i NTFSPROGS używając yumrepozytorium EPEL.

Uruchomiłem, grub2-mkconfig -o /boot/grub2/grub.cfga następnie uruchomiłem ponownie, aby znaleźć system Windows 7 (moduł ładujący) w menu rozruchu. Ale kiedy go wybieram, otrzymuję:

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

co wcale nie brzmi dobrze, ale przynajmniej pewne postępy.

Powinienem również powiedzieć, że mam CentOS 7 tylko na dysku wewnętrznym i pracuję nad tym dyskiem jako zewnętrznym dyskiem USB (stąd /dev/sdb).

Czy ktoś może mi pomóc w uruchomieniu systemu Windows?

Mam tło dla systemu Unix, ale głównie używam Mac OS X. Zawsze zaczynam się niepokoić podczas konfigurowania podwójnego uruchamiania systemu Windows i Linux.

Wreszcie mam system CentOS 6.5 działający poprawnie na innym komputerze, a także na moim komputerze Mac.

Ashley Aitken
źródło

Odpowiedzi:

4

Prawdopodobnie zamontowałeś niewłaściwą partycję Windows.

Poszukaj małej partycji o wielkości 100 lub 300 MB ( partycja rozruchowa systemu Windows), zamontuj ją, a następnie ponownie uruchom komendę.

Jeśli nadal masz problemy, dodaj następujące na końcu /etc/grub.d/40_custom:

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

Zakłada się, że partycja rozruchowa systemu Windows jest pierwszą partycją pierwszego dysku twardego.

Nie zapomnij uruchomić grub2-mkconfig.

Sabu
źródło
3

Zamontuj partycję systemu Windows. (Jeśli nie możesz zainstalować, zainstaluj ntfsprogs-2013.1.13-5.el7.x86_64.rpm i ntfs-3g-2013.1.13-5.el7.x86_64.rpm )

Uruchom jako root grub2-mkconfig -o /boot/grub2/grub.cfg

Sabu
źródło
Dziękuję za komentarz. Po wielu próbach uruchomienia tego, włożyłem nowy dysk i zainstalowałem tylko Centos 7. Jednak nadal chcę uruchomić drugi dysk z systemem Windows, więc włożę dysk na inną maszynę i podążę za tobą. Dzięki jeszcze raz!
Ashley Aitken
Zrobił to. Teraz pojawia się wpis w menu rozruchu :-) Ale teraz: błąd: brak takiego urządzenia 787776677 ... błąd: hd1 nie może uzyskać wartości C / H / S ...
Ashley Aitken
działało świetnie z Windows 7 i CentOS 7. dzięki.
Nathan McCoy
2

Zainstaluj ponownie program ładujący CentOS (bez względu na to, czy jest to LILO, czy GRUB). Instalator programu ładującego powinien rozpoznać systemy operacyjne na komputerze i automatycznie pokazać opcje systemu operacyjnego w czasie uruchamiania. CMIIW.

Ade Malsasa Akbar
źródło
Dzięki Ade. Wierzę, że CentOS 7 używa Grub2, więc przeinstaluję to. Chyba chodzi o partycję rozruchową 500 MB, ale pomyślałem, że problem będzie dotyczył bardziej MBR (lub czegoś w tym rodzaju). Czy Grub2 odpowiednio to skonfiguruje?
Ashley Aitken
2

Próbowałem podwójnego rozruchu z Windows 7 i Centos 7 przez 2 dni i zrobiłem to. Wystarczy wykonać proste kroki
Zainstaluj okno 7, a
następnie centos 7
Po ponownym uruchomieniu komputera nie zobaczysz żadnej opcji uruchamiania systemu Windows 7 w Grub.
Uruchom przełącznik w centos, aby su
użyć polecenia cfdisk
Następnie sprawdź flagi, w których zapisany jest boot, powiadom tę partycję
Następnie otwórz plik grub w /boot/grub2/grub.cfg najpierw wykonaj kopię zapasową pliku grub.cfg, kopiując go jako grub.old.cfg otwórz plik i edytuj za pomocą

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

zmień wartość msdos na partycji, na której podano flagę rozruchową. tak jakby flaga rozruchowa była w / dev / sda1, a następnie msdos1 if / dev / sda2, a następnie msdos2.

Nie zapomnij uruchomić grub2-mkconfig

Mam nadzieję, że okażą się przydatne.

avtar singh
źródło
Mam nadzieję, że OP wybierze to jako zaakceptowaną odpowiedź. Działa idealnie dla mnie: nrecursions.blogspot.in/2015/12/… , ale lepiej byłoby mieć program ładujący innej firmy, który automatycznie rozpoznaje systemy operacyjne na partycjach: superuser.com/questions/1009739/...
Nav
1

Stwierdzono, że dodanie pliku 11_windows /etc/grub.dbyło bardziej pomocne:

Zawartość:

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

Następnie uruchomiono grub2-mkconfigpo zapisaniu kopii zapasowej grub.cfgw /boot/grub2.

Dodano wyniki Dodano wpis „WINDOWS” w menu grub podczas uruchamiania.

Mój przypadek dotyczył systemu Windows 10, ale powinien być taki sam.

stv
źródło
Format polecenia Grub2-mkconfig:
STV
1
cd / boot / grub2; Grub2-mkconfig --output = grub.cfg
stv
1

Próbowałem podwójnego rozruchu z Windows 7 i Centos 7 przez dwa dni i zrobiłem to. Wystarczy wykonać proste kroki Zainstaluj okno 7, a następnie centos 7 Po ponownym uruchomieniu komputera nie zobaczysz żadnej opcji uruchamiania systemu Windows 7 w Grub. Uruchom do przełącznika centos na su użyj polecenia cfdisk Następnie sprawdź flagi, w których zapisany jest boot, powiadom tę partycję Następnie otwórz plik grub w /boot/grub2/grub.cfg najpierw wykonaj kopię zapasową pliku grub.cfg, kopiując go jako grub.old.cfg otwórz plik i edytuj go za pomocą

menuentry „WINDOWS” {set root = '(hd0, msdos1)' chainloader +1} zmień wartość msdos na partycji, na której podano flagę rozruchową. tak jakby flaga rozruchowa była w / dev / sda1, a następnie msdos1 if / dev / sda2, a następnie msdos2.

Nie zapomnij uruchomić grub2-mkconfig

Surinder Kumar
źródło