Jak używać BCDEdit do podwójnego rozruchu instalacji Windows?

29

Jakie są bcdeditpolecenia niezbędne do skonfigurowania podwójnego rozruchu między różnymi instalacjami systemu Windows? 5

tło

Niedawno zainstalowałem system Windows 8 na osobnym dysku twardym 1 . Teraz, gdy zainstalowany jest system Windows 8, chcę ponownie uruchomić system Windows 7.

Mam dwie 2 dyski twarde:

Zrzut ekranu menedżera partycji Windows

Możesz więc zobaczyć, że mam dwa dyski z partycjami zawierającymi Windows:

  • Windows 7 : \\PhysicalDisk0(partycja 0 3 )
  • Windows 8 : \\PhysicalDisk2(partycja 1)

To, co próbuję wymyślić, jak to zrobić, bcdeditaby pouczyć rzecz, która uruchamia system Windows, że istnieje kolejna instalacja systemu Windows.

Działa bcdeditteraz, pokazuje aktualną konfigurację:

C:\WINDOWS\system32>bcdedit

Windows Boot Manager
--------------------
identifier              {bootmgr}
device                  partition=\Device\HarddiskVolume2
description             Windows Boot Manager
locale                  en-US
inherit                 {globalsettings}
integrityservices       Enable
default                 {current}
resumeobject            {ce153eb7-3786-11e2-87c0-e740e123299f}
displayorder            {current}
toolsdisplayorder       {memdiag}
timeout                 30

Windows Boot Loader
-------------------
identifier              {current}
device                  partition=C:
path                    \WINDOWS\system32\winload.exe
description             Windows 8
locale                  en-US
inherit                 {bootloadersettings}
recoverysequence        {ce153eb9-3786-11e2-87c0-e740e123299f}
integrityservices       Enable
recoveryenabled         Yes
allowedinmemorysettings 0x15000075
osdevice                partition=C:
systemroot              \WINDOWS
resumeobject            {ce153eb7-3786-11e2-87c0-e740e123299f}
nx                      OptIn
bootmenupolicy          Standard
hypervisorlaunchtype    Auto

Nie mogę znaleźć żadnej dokumentacji dotyczącej różnicy między Windows Boot Managerem a Windows Boot Loaderem .

Dokumentacja

Istnieje pewna dokumentacja na temat Bcdedit:

Ale nie wyjaśniają, jak edytować dane konfiguracji binarnego rozruchu.

Gdybym musiał zgadywać , pomyślałbym, że Windows Boot Manager instruuje BIOS, jaki program powinien uruchomić. Ten program dałby użytkownikowi zestaw opcji rozruchu. To pozostawia Windows Boot Loader jako konkretny wybór rozruchu , który reprezentuje określoną instalację systemu Windows.

W takim przypadku musiałbym utworzyć nowy wpis modułu ładującego system Windows .

Oznacza to, że mógłbym chcieć użyć /createparametru:

/Stwórz

Tworzy nowy wpis rozruchowy:

bcdedit [/ store filename ] / create [ id ] / d description [/ application apptype | / inherit [ apptype ] | / odziedzicz URZĄDZENIE | / urządzenie ]

Przyjmuję więc składnię:

>bcdedit /create /d "The old Windows 7" /application osloader

Gdzie application może być jeden z następujących typów:

Apptype     Description
BOOTSECTOR  The boot sector application
OSLOADER    The Windows boot loader
RESUME      A resume application

Niestety, jedyna dokumentacja na ten temat osloaderto „Program ładujący Windows” . Nie rozumiem, jak to można rozróżnić system Windows 8 na jednym dysku twardym od systemu Windows 7 na innym.

Drugi możliwy parametr kiedy /create jest to moduł ładujący

>bcdedit /create /D "Windows Vista" /device "The Quick Brown Fox"

Niestety brakuje dokumentacji dla /device :

/urządzenie

Opcjonalny. Jeśli identyfikator nie jest ustawiony na dobrze znany identyfikator, opcja używana do określenia nowego wpisu rozruchu jako dodatkowego wpisu opcji urządzenia.

Ponieważ nie ustawiłem iddobrze znanego identyfikatora, muszę ustawić / device to „opcję używaną do określenia nowego wpisu rozruchu jako dodatkowego wpisu opcji urządzenia” . Znam wszystkie te słowa; wszyscy są Anglikami. Ale nie mam pojęcia, co to mówi; te słowa w tej kolejności wydają się bezsensowne.

Więc jestem trochę utrudniony. Nie chcę być jak Dan Stolts z Microsoftu, który zniszczył swoje dyski twarde, próbując użyć BCDEdit :

Nie znalazłem żadnej zawartości, która byłaby szczególnie pomocna, gdy ukryłem swój komputer, grając w BCDEdit. Ten post byłby w porządku, gdyby było o wiele więcej szczegółów, szczególnie w komendzie / set OSDevice itp. Więc kiedy naprawiłem mój komputer, udokumentowałem rozwiązanie i informacja jest tutaj ... .

Mam na myśli, że jeśli facet Microsoftu nie jest w stanie wymyślić, jak użyć BCDEdit do edycji swojego BCD, to jaką mam szansę?

Czytanie bonusowe

Przypisy

  • 1 Ponieważ instalator systemu Windows 8 uszkodziłby moją instalację systemu Windows 7, postanowiłem odłączyć mój „główny” dysk twardy podczas instalacji. Które od dawna wyjaśnia, dlaczego instalator systemu Windows 8 nie wykrył istniejącej instalacji systemu Windows 7. Zwykle instalator automatycznie utworzyłby wymagane wpisy dla podwójnego rozruchu. Nie dlatego powód, dla którego zadaję pytanie, jest ważny.
  • 2 Naprawdę są trzy dyski, ale trzeci to tylko pamięć masowa. Istnienie trzeciego dysku twardego nie ma znaczenia dla pytania. Wspominam o tym tylko na wypadek, gdyby ktoś chciał wiedzieć, dlaczego zrzut ekranu ma 3 dyski twarde, gdy tylko wspominam o dwóch.
  • 3 Dowolnie zacząłem numerować partycje na „zero” ; nie oznacza to, że partycje są numerowane od zera. Wspominam tylko o partycjach, ponieważ nie widzę, jak każdy moduł ładujący mógłby wykonać swoje zadanie, nie wiedząc, w której partycji i folderze znajduje się instalacja systemu Windows.
  • 4 Pytam o BCDEdit. Próbowałem Visual BCD Editor . Wygląda na wizualny edytor BCD. To znaczy, że jest to GUI, ale nadal używa tej samej terminologii co BCDEdit i wymaga tej samej wiedzy, której BCD nie dokumentuje.
  • 5 Dla uproszczenia założymy, że wszystkie instalacje systemu Windows, które chcę uruchomić podwójnie, to Windows Vista lub nowszy, dzięki czemu wszystkie są kompatybilne z BCDEdit i binarnym programem ładującym. Alternatywa wymagałaby zagłębiania się w zawiłości starego ntloader. Nie pytam też o podwójne uruchamianie do Linuksa; lub jak uruchomić obraz wirtualnego dysku twardego (VHD). Tylko nowoczesne wersje systemu Windows na istniejących dyskach twardych na tym samym komputerze.
Ian Boyd
źródło

Odpowiedzi:

16

To nie jest bezpośrednia odpowiedź na pytanie przed „tłem”, ale wskazuje na alternatywne rozwiązanie do tworzenia wpisów modułu ładującego do uruchamiania dwóch (i więcej) systemów Windows Vista i późniejszych. Zobacz także moją drugą odpowiedź poniżej na temat krytyki terminologii stosowanej w Visual BCD.

Bez przewodników, urządzeń, przedmiotów, elementów i bla, bla, bla.

Moje tło (pomiń, jeśli nie jesteś zainteresowany i przejdź do rozwiązania poniżej):

Wdrożyłem Edytor Visual BCD.

Podczas procesu wdrażania musiałem przeczytać wszystkie dostępne źródła na interfejsie bcdedit i WMI BCD Provider (interfejs programowania, można używać z C ++, C #). Dokumentacja od Microsoft jest naprawdę słaba.

W BCD znajdują się obiekty (ładowarki, ustawienia, elementy urządzenia). Nie ma dokumentacji dotyczącej połączeń między obiektami pomimo istnienia zależności.

W systemie Windows 7 jest ponad 140 (!) Elementów (właściwości) obiektów BCD. Nie znam znaczenia niektórych elementów - po prostu nie ma dokumentacji.

W Windows 8 są nowe elementy - myślę, że całkowita liczba zbliża się teraz do 180 (!!). Brak dokumentacji

Z drugiej strony istnieją dwa bardzo potężne narzędzia do manipulowania BCD: bcdboot i reagentc.

bcdboot - tworzy / naprawia domyślny moduł ładujący również BCD i środowisko rozruchowe jako całość!

reagentc - instaluje / odinstalowuje środowisko odzyskiwania (winre.wim)

Oba narzędzia również nie są zbyt dobrze udokumentowane.

Alternatywne rozwiązanie:

Bcdedit nie ma prawie żadnej potrzeby, ponieważ używając tylko bcdboot możesz tworzyć programy ładujące dla systemu Windows Vista i nowszych systemów operacyjnych Windows - tworzysz moduł ładujący dla najwcześniejszego systemu operacyjnego, niż dla najnowszego i voila stworzyłeś środowisko rozruchowe dla systemu podwójnego / wielokrotnego rozruchu:

Zakładając, że jesteś w systemie Windows 8:

1. bcdboot f: \ windows (to odwzorowuje na Windows 7 jak na zdjęciu)

2. bcdboot c: \ windows (to odwzorowanie na Windows 8)

Gotowy !

Podstawowa reguła Microsoft dla procesu rozruchu: Środowisko rozruchowe (i BCD) powinno zawsze znajdować się na [pierwszym dysku + aktywnej partycji]. (na zdjęciu - Dysk 2 => Pierwszy dysk w sekwencji rozruchowej BIOS!)

Na koniec jest narzędzie bootsect do zapisu MBR i PBR (rekord rozruchowy master i partycji) - teraz standard w Windows 8 (wcześniej dostępny tylko w WinRE).

Używając tylko bootsect i bcdboot, można utworzyć / naprawić wszystkie jednostki rozruchowe dla systemu podwójnego rozruchu.

Myślę, że proces uruchamiania systemu Vista i nowszych jest bardzo dobrze opisany na wielu stronach internetowych, nawet na Microsoft.com.

Uwaga:

Jedną z najlepszych stron na temat Windows BCD jest strona Geoffa Chappella - tam są bardziej szczegółowe informacje niż na Microsoft.com. Zainteresowani użytkownicy mogą znaleźć tam dość przydatne informacje i kilka krytycznych uwag na temat dokumentacji bcdedit.

snayob
źródło
9

Po sformatowaniu dysku C: w celu ponownego zainstalowania systemu Windows główny rekord rozruchowy został usunięty, a instalator systemu Windows 7 nie mógł go przywrócić. Mógłbym użyć narzędzia GUI bcdedit, takiego jak narzędzie Visual BCD Edit, ale dlaczego powinienem instalować coś, skoro w programie konsoli bcdedit powinno być proste polecenie, które może wykonać to zadanie? Po długim przeszukiwaniu plików pomocy online zrezygnowałem z bcdedit i znalazłem odpowiedź ukrytą tutaj w dygresjach. Aby utworzyć pozycję rozruchową dla drugiej partycji, musisz użyć bcdboot

Zakładając, że jesteś w C: \ Windows:

1. bcdboot e: \ windows

2. bcdboot c: \ windows

Po ponownym uruchomieniu zostanie wyświetlone menu rozruchu systemu Windows z dwoma wpisami dla systemu Windows 7. Jeśli wybierzesz pozycję, która uruchamia się w C: \ Windows, możesz zmienić nazwę pozycji dla tej partycji za pomocą:

bcdedit / set {current} opis „Windows 7 (partycja 1)”

To sprawia, że ​​system operacyjny uruchamiany podczas uruchamiania jest domyślnym wpisem w menu rozruchu:

bcdedit / default {bieżący}

Spowoduje to umieszczenie domyślnego systemu operacyjnego podczas uruchamiania pierwszego elementu w menu rozruchu

bcdedit / displayorder {default} / addfirst

Lub możesz ustawić system operacyjny podczas uruchamiania jako pierwszy element w menu rozruchu:

bcdedit / dispalyorder {current} / addfirst

Teraz uruchom ponownie komputer i wybierz drugi element w menu rozruchu, który powinien mieć nazwę „Windows 7”. Po uruchomieniu w E: \ Windows zmień nazwę systemu operacyjnego uruchomionego podczas uruchamiania:

bcdedit / set {current} opis „Windows 7 (partycja 2)”

Sprawdź, czy menu rozruchu działa poprawnie i zapisz dane bcd na partycji, na której nie ma zainstalowanego systemu operacyjnego:

bcdedit / export D: \ Saved_BCD_Settings \ SavedBCD

Jeśli później zepsujesz się, możesz przywrócić menu startowe bcd za pomocą:

bcdedit / import D: \ Saved_BCD_Settings \ SavedBCD

Motorcycleboy
źródło
Mój motocyklisto, właśnie powtarzasz moją odpowiedź podaną kilka miesięcy temu. -1.
snayob
@ snayob, doceniam twoje odpowiedzi (+1), ale Motorcycleboy bardziej szczegółowo opisuje komendy po tym, jak stworzysz bootentrie. Teraz coś, co brakuje w całej tej dyskusji jest to, co równoważne polecenie bcdeditjest bcdboot e:\windows(patrz tutaj na pytanie)
Davor Josipović
Nie sądzę, że istnieje odpowiednik poleceń bcdedit dla „bcdboot e: \ windows”, ponieważ bcdboot kopiuje i naprawia całe środowisko rozruchowe (bootmgr + \ folder rozruchowy + naprawia BCD + dodaje wpis dla określonego systemu operacyjnego)
snayob
{current}nie działa.
Orient
5

Kilka uwag na temat krytyki w pierwotnym pytaniu o używanie tej samej terminologii w Visual BCD, jak Microsoft używa dla bcdedit.

Koncepcja BCD została opracowana przez Microsoft. Pochodzi z własną terminologią. Nie sądzę, żebym mógł to zmienić. Mogę to tylko przedłużyć.

Microsoft podał dwa sposoby dostępu / edycji BCD:

  1. using bcdedit.exe - interfejs wiersza poleceń
  2. BCD Interfejs dostawcy WMI - interfejs programistyczny

Oba interfejsy mówią o obiektach i elementach BCD. Jest to ogólna koncepcja stosowana również w programowaniu / komputerach, jak również w innych obszarach ludzkich. Moglibyśmy przejść nawet do filozofii, która używa terminologii przedmiotów, właściwości i relacji do opisu świata i wszechświata.

Dostęp dostawcy BCD WMI jest bardziej elastyczny, ponieważ daje programistom możliwość dostępu do każdego obiektu i elementu w BCD i swobodnego operowania nimi.

Visual BCD w pełni wykorzystuje interfejs dostawcy BCD WMI i implementuje dostęp w taki sam sposób, jak my jesteśmy dostępni do rejestru Windows za pomocą regedit.exe. Ponadto narzędzie automatyzuje dwa główne zadania - tworzenie programów ładujących i naprawę podwójnego rozruchu . Żadne inne narzędzie nie oferuje takiej automatycznej funkcjonalności jednym kliknięciem . Powiedziałbym, że to nowa terminologia i nowy poziom abstrakcji . Nie zmieniłbym bazy stworzonej przez Microsoft, mogę tylko na niej budować.

Początkujący użytkownicy po prostu klikają przycisk i przeprowadzana jest skomplikowana operacja! Tło nie jest potrzebne! Nie musisz nawet wiedzieć, ile zainstalowanych wersji systemu Windows - narzędzie próbuje znaleźć je wszystkie, a następnie utworzyć dla nich moduły ładujące, jeśli odpowiadające moduły ładujące nie są jeszcze obecne w BCD - zastosowana terminologia - „Utwórz brakujące moduły ładujące Windows” - I sądzisz, że każdy, kto mówi po angielsku, może zrozumieć / kliknąć / potwierdzić taką operację, czy się mylę?

Złożoność obiektów i elementów w BCD jest naturalna, ponieważ koncepcja obejmuje uruchamianie nowszego i starszego systemu operacyjnego Windows, a także obcego systemu operacyjnego, takiego jak Linux, Unix itp. Ponadto jest to ogólna koncepcja uruchamiania MBR i uruchamiania EFI na różnych urządzeniach.

Najbardziej złożoną częścią BCD jest koncepcja urządzenia . Masz urządzenie partycji, urządzenie ramdysku, urządzenie plików, zlokalizuj urządzenie - musisz poświęcić trochę czasu na jego zrozumienie i nie sądzę, że jest to dla zwykłego użytkownika systemu Windows. Fora są pełne pytań o partycje dysku, które są o wiele mniej złożonym tematem. Wielu użytkowników Windows nawet nie wie na przykład o różnicy między partycją podstawową a logiczną. Musisz wiedzieć o partycjach, jeśli chcesz uruchomić podwójnie lub wiele razy. Musisz kupić ziemię, jeśli chcesz zbudować drugi dom.

Koncepcja BCD jest taka sama od czasu Vista - tylko nowe elementy są zdefiniowane w Windows 7/8.

Myślę, że wybrano strukturę rejestru BCD, ponieważ system Windows już implementuje ten interfejs i jest to niezawodny interfejs transakcyjny, który sprawdził się przez lata. Jeśli ogólna koncepcja rejestru systemu Windows jest dobra lub zła, to inny temat.

To programista / programista musi stworzyć bardziej przyjazny interfejs użytkownika. Zacząłem od podania tego samego interfejsu - graficznego odpowiednika bcdedit - później interfejs można wyodrębnić na wyższym poziomie w oparciu o wzorce użytkowania. Strukturalny widok BCD jest już zaimplementowany. To jest podstawowa warstwa abstrakcji.

Kolejnym poziomem abstrakcji byłoby skoncentrowanie się na relacjach między obiektami, ponieważ Microsoft nie omawia tego tematu. Niełatwe zadanie. Nowa terminologia pochodzi z abstrakcją.

snayob
źródło
Rozumiem, że BCD zawiera bardzo wydajny system z wieloma złożonymi opcjami. Z drugiej strony, myślę, że mam bardzo proste pytanie, które wiele osób zadawało przez lata - ale nigdy nie udało się rozwiązać. „Mam Windowstu i jeszcze jedną Windows. Jak mam się między nimi uruchomić?”. Zamiast pełnego samouczka na temat wszystkich opcji BCDEdit, liczyłem na polecenia, które mogą rozwiązać tylko ten (pozornie prosty) problem. Być może prawie coś tak prostego msconfig, z wyjątkiem tego, że pozwala ci przejść do innej instalacji Windows i doda to dla ciebie.
Ian Boyd,
Muszę powiedzieć, że twoje narzędzie jest znacznie potężniejsze niż EasyBCD.
Milind R
3

Potrzebujesz BCDEdit /setpolecenia do skonfigurowania woluminu rozruchowego. Następnie dodaj pozycję do menu systemu operacyjnego Windows Boot Manager, wywołując BCDEdit /displayorderpolecenie.

bcdedit / set {ntldr} boot urządzenia

Zidentyfikuje również partycję innego systemu operacyjnego lub następujące polecenie

bcdedit / set {ntldr} partycja urządzenia = C:

Poniższy wiersz sprawia, że ​​wpis można uruchomić, dodając go do menu

bcdedit / displayorder {ntldr} / addlast

Możesz sprawdzić, czy nowy wpis pojawi się w menu rozruchu, uruchamiając polecenie bcdedit /enum ACTIVE i szukając wpisu Windows Legacy OS Loader.

Uwaga : /createpolecenie służy do dodania systemu operacyjnego innego niż Microsoft do pozycji modułu ładującego rozruch.

Aby uzyskać więcej informacji na ten temat, przeczytaj ten artykuł źródłowy


Jeśli chodzi o pytanie dotyczące „ Różnicy między programem ładującym rozruchu systemu Windows a menedżerem rozruchu

Z wikipedii

Proces uruchamiania systemu Windows NT rozpoczyna się, gdy komputer znajdzie moduł ładujący Windows, część systemu operacyjnego Windows odpowiedzialną za znalezienie systemu Microsoft Windows i uruchomienie go. W systemach IA-32 lub x64 moduł ładujący nazywa się Windows Boot Manager (BOOTMGR). Jednak przed wersją Windows Vista programem ładującym był NTLDR.

Zobacz także w technet .


Visual BCD Editor to zaawansowana wersja GUI narzędzia bcdedit dla systemu Windows.

Jest to pierwsze narzędzie GUI do wdrożenia pełnej edycji magazynu danych konfiguracji rozruchu systemu Windows 7 / Vista (BCD).

Pobierz stronę dla edytora wizualnego BCD.

Wypróbuj opcję naprawy w narzędziu.

avirk
źródło
O systemie Windows Boot Manager : System Windows Boot Manager jest w zasadzie mini-system operacyjny, który kontroluje swoje doświadczenie rozruchu i pozwala wybrać, które rozruchu na uruchomienie aplikacji. Istnieją różne aplikacje rozruchowe (na przykład Windows Boot Loader) i każda robi coś innego. Na przykład aplikacja rozruchowa systemu Windows ładuje system Windows. [...] Na przykład, jeśli masz dwie różne wersje Win7 zainstalowane na różnych partycjach, zobaczysz dwa wpisy Windows Boot Loader. (wzięty stąd )
Davor Josipovic,
3

Chociaż stary, chcę dodać do odpowiedzi, ponieważ kilka powyższych odpowiedzi zawiera nieprawidłowe informacje. Prawdopodobnie działają, ale na pewno nie potrzebujesz zewnętrznego programu, a nawet bcdbootdo tego. Dla odniesienia poprawne informacje są następujące:

Szybkie tło BCD, jeśli jest w tym nowe

BCD to konfiguracja rozruchu systemu Windows. Zawiera wiele sekcji, z których każda jest identyfikowana nazwą (zwaną „opisem”) i identyfikatorem, który wygląda trochę tak: „{0743bb44-fda6-11e3-90c8-e3ee27f3aec6}”.

Istnieje kilka „dobrze znanych identyfikatorów”, a bcdedit chętnie użyje ich tam, gdzie to możliwe, (chyba że użyjesz opcji /v (pełne) z /enum). Wyglądają tak: „{bootmgr}”, „{memdiag}”. Są to tylko skrócone nazwy dla pełnych identyfikatorów, ale są łatwiejsze w użyciu. Możesz użyć albo.

Można wymienić następujące sekcje za pomocą następującego polecenia ( „all” jest opcjonalne, ale bez niego nie będzie zobaczyć pełną listę) bcdedit /enum all.

Typowa wydajność:

C:\Windows\system32>bcdedit /enum all

Windows Boot Manager
--------------------
identifier              {bootmgr}
device                  partition=\Device\HarddiskVolume1
description             Windows Boot Manager
locale                  en-US
inherit                 {globalsettings}
default                 {current}
resumeobject            {92b1a1b0-c023-11e3-b3f1-ec4d94108574}
displayorder            {current}
toolsdisplayorder       {memdiag}
timeout                 30

Windows Boot Loader
-------------------
identifier              {current}
device                  partition=C:
path                    \Windows\system32\winload.exe
description             Windows 7
locale                  en-US
inherit                 {bootloadersettings}
recoverysequence        {92b1a1b2-c023-11e3-b3f1-ec4d94108574}
recoveryenabled         Yes
osdevice                partition=C:
systemroot              \Windows
resumeobject            {92b1a1b0-c023-11e3-b3f1-ec4d94108574}
nx                      OptIn

Podobnie, dla ułatwienia identyfikacji urządzeń, użyje formatu podobnego \Device\HarddiskVolume2, ale rozpozna partycję po literze („C:”), jeśli zostanie przypisana.

Lista utworzona przez /enum allzaczyna się od opcjonalnej sekcji menedżera rozruchu oprogramowania układowego (jeśli płyta główna ma EFI). Jego skrócona nazwa to „{fwbootmgr}” . Kontroluje początkowy wybór rozruchu EFI (czy użyć zwykłego menedżera rozruchu systemu Windows, czy określonych urządzeń). Ogólnie możesz zignorować {fwbootmgr}, jeśli jest obecny.

Poniżej znajduje się „Windows Boot Manager” (identyfikator „{bootmgr}” ). Z tym będziesz pracować. Zawiera konfigurację menu podstawowego lub cokolwiek innego, co otrzymasz podczas uruchamiania (jeśli Windows Boot Manager działa i może przede wszystkim znaleźć BCD).

Poniżej {bootmgr} znajduje się dowolna liczba sekcji „Windows Boot Loader” i ewentualnie inne sekcje, z których każda kontroluje jedną akcję lub opcję uruchamiania.

Konfigurowanie podwójnego rozruchu za pomocą bcdedit (nie potrzebujesz niczego więcej)

Aby uruchomić podwójnie, powiedz bcdedit do /copyistniejącego, dobrego, dobrego wpisu Windows Boot Loader dla twojego pierwszego systemu operacyjnego.

  • /copy aby skopiować istniejący wpis
  • {current}jest identyfikatorem wpisu, który chcesz skopiować. Jest to skrót do bieżącego elementu rozruchowego. Jeśli nie jest to ten, który chcesz uruchomić podwójnie, użyj poprawnego identyfikatora dla tego, którego chcesz. Tekst opisu każdego wpisu pomoże znaleźć ten, który chcesz.
  • /d "Description for copied entry będzie opis nowego przedmiotu

Sporządzi kopię tego wpisu, poda jej opis i odpowie nowym identyfikatorem, który podał:

bcdedit /copy {current} /d "Copy of my current Windows Boot Loader"

The entry was successfully copied to {5599a3fc-e4ee-11e7-a5f3-c86000d0b92a}.

To tworzy niezależny wpis z właściwą nazwą, teraz musisz powiedzieć mu, co ma robić. Ponieważ prawie nic się nie zmieniło w ostatnich systemach operacyjnych, możesz po prostu ustawić urządzenie i osdevice na partycję Win7 i prawdopodobnie będzie działać. W razie potrzeby spójrz na wyjście / enum podczas normalnego uruchamiania systemu Windows 7 i skopiuj wpisy, których się spodziewasz. Ale zwykle wystarczy tymczasowo przypisać literę do 2. systemu operacyjnego, na przykład „Q”, a następnie polecenie brzmi: bcdedit /set {NEW_IDENTIFIER} device partition=Q:lub coś w tym samym osdevice. bcdedit uporządkuje litery dysków, patrz poniżej. Możesz usunąć literę temp temp, gdy zostanie ona użyta w bcd.

Następnie dodaj go do listy wpisów w {bootmgr} za pomocą bcdedit /displayorder {NEW_ID} /addlasti - co najważniejsze - powiedz bcd, aby wyświetlił menu uruchamiania za pomocą bcdedit /set {bootmgr} displaybootmenu Yes.

Gotowy.

Uwaga - w BCD można bezpiecznie używać „nieparzystych” lub „niepoprawnych” liter napędu i jest bezpieczny, jeśli zawiera również wyjście / enum.

Żeby było jasne, nie musisz się martwić, że twoje nowe urządzenie zostanie zidentyfikowane jako Q: (lub cokolwiek to jest), kiedy „powinno być C:”. bcdedit przechowuje identyfikator dysku twardego, a nie literę. Czysto akceptujesz i wyświetlasz Q: być pomocnym. Jeśli urządzenie ma literę, dla ułatwienia wyświetli ją domyślnie zamiast identyfikatora urządzenia. Możesz to zobaczyć, usuwając lub przypisując literę z 2. systemu operacyjnego w DISKPART lub DISKMGMT.MSC, a wyjście / enum natychmiast powróci do \ Device. Właściwie zapisano prawidłowy identyfikator dysku twardego, a gdy zostanie użyty do rozruchu, system Windows znajdzie to urządzenie - litera jest łatwa i nigdy nie jest zapisywana.

Stilez
źródło
Skąd masz {0743bb44-fda6-11e3-90c8-e3ee27f3aec6}? Skopiowałeś już moduł ładujący system {current} Windows ; z czego jeszcze robisz kopię? (Nie zakładam, że Windows Boot Manager )
Ian Boyd,
Dziękuję Ci. Mogę potwierdzić, że działało to tak jak ta wersja Windows 10 1903 (kompilacja 18362). Miałem obraz partycji NTFS systemu Windows 10, którą przywróciłem na partycję na innym komputerze, ponownie uruchomiłem nośnik instalacyjny do odzyskiwania systemu Windows i przypisałem literę sterownika za pomocą diskpart. Następnie zrobiono bcdedit / kopię {default} (no {current} w WinRE) i bcdedit / set urządzenia i urządzenia na nowy dysk. Podczas ponownego uruchamiania miałem wybór systemów operacyjnych do uruchomienia, a stary obraz zrestartował się dobrze. Był to system Windows 10, który jest bardzo elastyczny, niezależnie od całkowitej zmiany sprzętu.
Marko Kohtala,
2

W odpowiedzi na szczegółowe pytanie autora powtórzone w komentarzach (chociaż różni się ono od jego początkowego pytania dotyczącego bcdedit.exesekwencji, które pozwolą osiągnąć to samo):

Być może prawie coś tak prostego jak msconfig, z wyjątkiem tego, że pozwala ci przejść do kolejnej instalacji Windows i doda to dla ciebie.

EasyBCD jest dokładnie tym, czego szukasz (bezpłatny do użytku osobistego). Jest to wizualne narzędzie do zarządzania podwójnym uruchomieniem systemu Windows, a dodanie nowego wpisu systemu Windows odbywa się za pomocą funkcji „wskaż i kliknij”, dokładnie tak, jak to opisano .

EasyBCD ma wiele zasobów online, więc nie powtórzę tutaj wszystkiego. Zasadniczo EasyBCD podsumowuje złożoność bcdedit.exei rozszerza go o własne moduły bootloadera, aby umożliwić konfigurację podwójnego rozruchu z innymi (nowszymi lub starszymi) wersjami systemu Windows, a także Linux, BSD i innymi.

Pełne ujawnienie: Jestem głównym autorem EasyBCD.

Mahmoud Al-Qudsi
źródło
-1
bcdedit
bcdboot
bcdedit /create

Można to wskazać na plik podobny do pliku .vhd, ale utworzony jako partycja dysku i zainicjowany i dołączony lub zamontowany w locie i ponownie uruchomiony jako system operacyjny. System operacyjny może być ukryty w innej partycji. kolejna partycja może być ukryta w innej partycji i systemie operacyjnym. gdy bcdeditzostaniesz skierowany na inny plik .vhd bez względu na to, gdzie się on znajduje. Ładuje się. Mój instruktor pokazał to na zajęciach, ale nie udzielił ani nie podał innych wyjaśnień bcdedit. Ale to działa, aby ukryć i obsługiwać w pełni funkcjonalny system operacyjny.

  1. bcdboot e:\windows
  2. bcdboot c:\windows
uber-rajan
źródło