Jakie są bcdedit
polecenia 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:
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ć, bcdedit
aby pouczyć rzecz, która uruchamia system Windows, że istnieje kolejna instalacja systemu Windows.
Działa bcdedit
teraz, 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
:
- Technet: Odwołanie do wiersza poleceń - Bcdedit
- Technet: Zestaw zautomatyzowanej instalacji systemu Windows - opcje wiersza polecenia BCDEdit
- Oficjalny dokument - polecenia BCDEdit dla środowiska rozruchowego (dokument programu Word)
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ć /create
parametru:
/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 osloader
to „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 id
dobrze 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
- Opcje wiersza polecenia BCDEdit
- Bcdedit
- System Server 2008 R2 lub Windows 7 NIE uruchomi się po wprowadzeniu zmian w Menedżerze rozruchu za pomocą BCDEdit
- Edytor Visual BCD 4
- Konfiguracja podwójnego rozruchu systemu Windows 7 i Windows 8 RTM
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.
bcdedit
jestbcdboot e:\windows
(patrz tutaj na pytanie){current}
nie działa.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:
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ą.
źródło
Windows
tu 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 prostegomsconfig
, z wyjątkiem tego, że pozwala ci przejść do innej instalacji Windows i doda to dla ciebie.Potrzebujesz
BCDEdit /set
polecenia do skonfigurowania woluminu rozruchowego. Następnie dodaj pozycję do menu systemu operacyjnego Windows Boot Manager, wywołującBCDEdit /displayorder
polecenie.Zidentyfikuje również partycję innego systemu operacyjnego lub następujące polecenie
Poniższy wiersz sprawia, że wpis można uruchomić, dodając go do menu
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 :
/create
polecenie 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
Zobacz także w technet .
Visual BCD Editor to zaawansowana wersja GUI narzędzia bcdedit dla systemu Windows.
Pobierz stronę dla edytora wizualnego BCD.
Wypróbuj opcję naprawy w narzędziu.
źródło
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
bcdboot
do 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ść:
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 all
zaczyna 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
/copy
istnieją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 przedmiotuSporządzi kopię tego wpisu, poda jej opis i odpowie nowym identyfikatorem, który podał:
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 samymosdevice
. 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} /addlast
i - 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.
źródło
{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 )W odpowiedzi na szczegółowe pytanie autora powtórzone w komentarzach (chociaż różni się ono od jego początkowego pytania dotyczącego
bcdedit.exe
sekwencji, które pozwolą osiągnąć to samo):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.exe
i 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.
źródło
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
bcdedit
zostaniesz 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.bcdboot e:\windows
bcdboot c:\windows
źródło