Jak przenieść pliki rozruchowe systemu Windows 7 (bootmgr,…) na inny dysk?

10

Chciałem konfiguracji podwójnego rozruchu. Więc najpierw zainstalowałem system Windows 7 na 1. partycji jednego dysku twardego (nazwiemy go HDD1), a potem poszedłem zainstalować Ubuntu 9.10 na drugiej partycji HDD1. Niestety to nie zadziałało (ominęło GRUB2 i poszło prosto do systemu Windows). Postanowiłem ponownie zainstalować Ubuntu i wtedy zauważyłem, że (z jakiegoś powodu) Windows postanowił umieścić pliki rozruchowe na innym dysku twardym (nazwiemy go HDD3).

Chciałbym to naprawić - chcę przenieść pliki rozruchowe z HDD3 na HDD1. Może to pomóc w rozwiązaniu problemu z podwójnym uruchomieniem, ale nawet jeśli tak nie jest, z mojego doświadczenia wynika, że ​​zaoszczędzi to wielu kłopotów na drodze. W jaki sposób mogę to zrobić? Zakładam, że nie jest to tak proste, jak tylko kopiowanie plików, ale chciałbym, aby udowodniono, że się mylę :)

czerwony Październik
źródło

Odpowiedzi:

16

Przez niektóre Googling znalazłem następujące rozwiązanie (używam HDD1 i HDD3 do reprezentowania dwóch dysków twardych, na których mi zależy, jak wspomniano powyżej w moim pytaniu):

  1. Pliki rozruchowe składają się z folderu o nazwie Boot i aplikacji o nazwie bootmgr . Są to pliki systemowe, dlatego zwykle są ukryte. Musisz je pokazać.
  2. Skopiuj je oba z HDD3 na HDD1. Skarży się, że nie można skopiować dwóch plików : BCD i BCD.log , które znajdują się w folderze Boot . Ten ostatni jest nieistotny (to tylko plik dziennika) i można go zignorować; ten pierwszy zostanie skopiowany w następnym kroku.
  3. Otwórz wiersz polecenia z uprawnieniami administratora. Wpisz następujące polecenie bcdedit /export HDD1:\Boot\BCD:, gdzie HDD1 jest literą sterownika dysku docelowego. W moim przypadku HDD1 to C , więc polecenie było bcdedit /export C:\Boot\BCD.
  4. Teraz musisz edytować plik BCD , aby wszystkie wpisy były prawidłowe. Użyłem programu bcdedit , który jest dostarczany z Windows 7, ale są też inne. Słyszałem, że EasyBCD jest całkiem dobry (i bezpłatny), ale najnowsza wersja nie obsługuje w pełni systemu Windows 7. Wierzę, że nowa wersja, która obsługuje system Windows 7, wkrótce zostanie wydana. Najpierw nawiguję do HDD1 \ Boot w wierszu polecenia (z uprawnieniami administratora) i piszę bcdedit /store BCD /enum ALL. Używam /storeprzełącznika, aby określić plik BCD w bieżącym katalogu - pominięcie tego przełącznika spowoduje użycie domyślnego, który moim zdaniem jest na HDD3. To polecenie wyświetla wszystkie wpisy w pliku BCD .
  5. I skanowane wpisy, a okazuje się, że wpisy na {bootmgr}i {memdiag}zarówno punktu do HDD3. Oczywiście chcę, żeby wskazywały na HDD1. Więc wydawać polecenia w następującej formie: bcdedit /store BCD /set [entry_name] device partition=HDD1:. Od HDD1 jest C na moim komputerze, chciałbym wpisz następujące polecenie, aby ustawić {bootmgr}pozycję: bcdedit /store BCD /set {bootmgr} device partition=C:.

O to chodzi. Ostatnim krokiem jest uczynienie HDD1 aktywnym za pośrednictwem Disk Management(dostęp z poziomu zarządzania komputerem) - był już aktywny w moim systemie, więc nie musiałem nic robić.

Jeśli chodzi o dziwny problem podwójnego rozruchu, okazuje się, że zapomniałem, że fizycznie zmieniłem kolejność dysków twardych. W związku z tym kolejność rozruchu systemu BIOS była niepoprawna ( najpierw próbował uruchomić system z HDD3 , a nie HDD1). I tak, to był niesamowicie głupi błąd z mojej strony :)

czerwony Październik
źródło
drugi krok atrybutu nie powinien być konieczny, ponieważ flagi attrrib w oryginalnym pliku to + a
Te instrukcje są bardzo przydatne. Mam kilka maszyn podwójnego rozruchu przy użyciu Win7 i Ubuntu i po pewnym czasie znalazłem najlepszy trwałe rozwiązanie tego problemu jest BootIt NG terabyteunlimited.com/bootit-next-generation.htm .
jtreser
Jeśli napotkasz problem polegający na tym, że menedżer rozruchu znajduje się na partycji zarezerwowanej przez system, możesz przypisać mu literę dysku z przystawki Zarządzanie dyskami, aby uzyskać dostęp do plików i skopiować je. Świetna odpowiedź!
Nate Bundy,
1

Najłatwiej jest po prostu pobrać i zainstalować bezpłatny EasyBCD: http://neosmart.net/dl.php?id=1

Na stronie „Kopia zapasowa / naprawa BCD” programu EasyBCD dostępna jest opcja „Zmień dysk rozruchowy”, która wyświetli listę wszystkich dysków lokalnych. Po prostu wybierz żądany dysk, a EasyBCD zautomatyzuje dla Ciebie cały proces, w tym aktywację wybranej partycji i uruchomienie jej, importowanie zawartości starego programu ładującego i zapisywanie MBR.

(Ujawnienie: Jestem autorem EasyBCD)

Mahmoud Al-Qudsi
źródło
1
fajna rada do pobrania, szczególnie jeśli NIE MOŻESZ uruchomić systemu
Ewoks
Jeśli nie możesz pobrać, możesz zamiast tego użyć rozruchowego dysku CD EasyRE: neosmart.net/EasyRE Korzystając z innego komputera , możesz utworzyć rozruchowy dysk CD i uruchomić go z niego, aby naprawić komputer.
Mahmoud Al-Qudsi