Apa bcdedit
perintah yang diperlukan untuk mengatur dual boot antara berbagai instalasi Windows? 5
Latar Belakang
Saya baru-baru ini menginstal Windows 8 ke hard drive terpisah 1 . Sekarang setelah Windows 8 diinstal saya ingin dual-boot kembali ke Windows 7.
Saya memiliki dua 2 hard drive saya:
Jadi, Anda dapat melihat bahwa saya memiliki dua disk saya, dengan partisi yang berisi Windows:
- Windows 7 :
\\PhysicalDisk0
(partisi 0 3 ) - Windows 8 :
\\PhysicalDisk2
(partisi 1)
Apa yang saya coba cari tahu bagaimana cara menggunakan bcdedit
untuk menginstruksikan hal yang mem-boot Windows bahwa ada instalasi Windows lain di luar sana.
Berjalan bcdedit
sekarang, ini menunjukkan konfigurasi saat ini:
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
Saya tidak dapat menemukan dokumentasi tentang perbedaan antara Windows Boot Manager dan Windows Boot Loader .
Dokumentasi
Ada beberapa dokumentasi tentang Bcdedit
:
- Technet: Referensi Baris Perintah - Bcdedit
- Technet: Kit Instalasi Otomatis Windows - Opsi Perintah BCDEdit
- Whitepaper - Perintah BCDEdit untuk Lingkungan Boot (Dokumen Word)
Tetapi mereka tidak menjelaskan bagaimana cara mengedit data konfigurasi boot biner.
Jika saya harus menebak , saya akan berpikir bahwa Windows Boot Manager menginstruksikan BIOS program apa yang harus dijalankan. Program itu akan memberi pengguna satu set pilihan boot. Itu membuat Windows Boot Loader menjadi pilihan boot tertentu , yang mewakili instalasi Windows tertentu.
Jika demikian, saya perlu membuat entri Windows Boot Loader baru .
Ini berarti saya mungkin ingin menggunakan /create
parameter:
/membuat
Membuat entri boot baru:
bcdedit [/ store filename ] / create [ id ] / d description [/ aplikasi apptype | / inherit [ apptype ] | / mewarisi PERANGKAT | / perangkat ]
Jadi saya menganggap sintaks:
>bcdedit /create /d "The old Windows 7" /application osloader
Di mana application
bisa menjadi salah satu dari jenis berikut:
Apptype Description
BOOTSECTOR The boot sector application
OSLOADER The Windows boot loader
RESUME A resume application
Sayangnya, satu-satunya dokumentasi tentang osloader
adalah "Windows boot loader" . Saya tidak melihat bagaimana hal itu dapat membedakan antara Windows 8 pada satu hard drive, dan Windows 7 pada yang lain.
Parameter lain yang mungkin saat /create
boot loader adalah
>bcdedit /create /D "Windows Vista" /device "The Quick Brown Fox"
Sayangnya, dokumentasi tidak ada untuk /device
:
/alat
Pilihan. Jika id tidak disetel ke pengenal terkenal, opsi yang digunakan untuk menentukan entri boot baru sebagai entri opsi perangkat tambahan.
Karena saya tidak mengatur id
ke pengenal terkenal, saya harus mengatur / perangkat ke "opsi yang digunakan untuk menentukan entri boot baru sebagai entri opsi perangkat tambahan" . Saya tahu semua kata-kata itu; mereka semua orang Inggris. Tetapi saya tidak tahu apa yang dikatakannya; kata-kata dalam urutan itu tampak tidak masuk akal.
Jadi saya agak terhalang. Saya tidak ingin seperti Dan Stolts dari Microsoft, yang menghancurkan hard drive-nya yang mencoba menggunakan BCDEdit :
Saya tidak menemukan konten yang sangat membantu ketika saya menyemprot mesin saya dengan bermain dengan BCDEdit. Posting ini akan menjadi ok jika ada lebih detail terutama pada / set perintah OSyang, dll Jadi setelah saya mendapat mesin saya tetap, saya mendokumentasikan solusi dan informasi yang di sini ... .
Maksud saya, jika seorang lelaki Microsoft bahkan tidak tahu cara menggunakan BCDEdit untuk mengedit BCD-nya, lalu peluang apa yang saya miliki?
Pembacaan Bonus
- Opsi Baris Perintah BCDEdit
- Bcdedit
- Sistem Server 2008 R2 atau Windows 7 TIDAK AKAN Booting Setelah Melakukan Perubahan Untuk Mem-boot Manager Menggunakan BCDEdit
- Editor BCD Visual 4
- Windows 7 dan Windows 8 RTM Dual Boot Setup
Catatan kaki
- 1 Karena penginstal Windows 8 akan merusak instalasi Windows 7 saya, saya memutuskan untuk mencabut hard drive "utama" saya selama penginstalan. Yang merupakan penjelasan panjang lebar mengapa installer Windows 8 tidak mendeteksi instalasi Windows 7 yang ada. Biasanya penginstal akan secara otomatis membuat entri yang diperlukan untuk dual-boot. Bukan karena alasan saya mengajukan pertanyaan itu penting.
- 2 Sebenarnya ada tiga drive, tetapi yang ketiga hanya penyimpanan massal. Keberadaan hard drive ke-3 tidak relevan dengan pertanyaan. Saya hanya menyebutkannya jika seseorang ingin tahu mengapa tangkapan layar memiliki 3 hard drive ketika saya hanya menyebutkan dua.
- 3 Saya sewenang-wenang mulai memberi nomor partisi pada "nol" ; tidak menyiratkan bahwa partisi diberi nomor mulai dari nol. Saya hanya menyebutkan partisi karena saya tidak melihat bagaimana boot-loader dapat melakukan tugasnya tanpa mengetahui partisi mana, dan folder mana, tempat instalasi Windows berada.
- 4 Saya bertanya tentang BCDEdit. Saya mencoba Visual BCD Editor . Tampaknya menjadi editor BCD visual . Itu artinya GUI, tetapi masih menggunakan terminologi yang sama dengan BCDEdit, dan membutuhkan pengetahuan yang sama yang tidak didokumentasikan oleh BCD.
- 5 Demi kesederhanaan, kami akan menganggap bahwa semua instalasi Windows yang saya ingin dual-boot adalah Windows Vista atau yang lebih baru, membuat semuanya kompatibel dengan BCDEdit dan boot loader biner. Alternatif akan membutuhkan menggali ke dalam seluk-beluk yang lama
ntloader
. Saya juga tidak bertanya tentang dual boot ke Linux; atau cara mem-boot ke gambar Virtual Hard Drive (vhd). Hanya versi modern Windows pada hard drive yang ada di mesin yang sama.
bcdedit
inibcdboot e:\windows
(lihat di sini untuk pertanyaannya){current}
tidak bekerja.Beberapa catatan tentang kritik dalam pertanyaan awal tentang penggunaan terminologi yang sama dalam Visual BCD seperti yang digunakan Microsoft untuk bcdedit.
Konsep BCD dikembangkan oleh Microsoft. Itu datang dengan terminologi sendiri. Saya tidak berpikir saya bisa mengubahnya. Saya hanya bisa memperpanjangnya.
Microsoft telah memberikan dua cara untuk mengakses / mengedit BCD:
Kedua antarmuka berbicara tentang objek dan elemen BCD. Ini adalah konsep umum yang digunakan juga dalam pemrograman / komputer seperti di bidang manusia lainnya. Kita bahkan dapat pergi ke filsafat yang menggunakan terminologi objek, properti, dan hubungan untuk menggambarkan dunia dan alam semesta.
Akses penyedia BCD WMI lebih fleksibel karena memberikan programmer kemungkinan untuk mengakses setiap objek dan elemen dalam BCD dan beroperasi secara bebas.
Visual BCD memanfaatkan sepenuhnya BCD WMI Provider Interface dan mengimplementasikan akses dengan cara yang sama seperti kita digunakan untuk mengakses registri Windows menggunakan regedit.exe. Selain itu alat ini mengotomatiskan dua tugas utama - pembuatan loader dan perbaikan dual-boot . Tidak ada alat lain yang menawarkan fungsi otomatis sekali klik seperti itu . Saya akan mengatakan ini adalah terminologi baru dan tingkat abstraksi baru . Saya tidak akan mengubah basis yang telah dibuat Microsoft, saya hanya bisa membangun di atasnya.
Pengguna pemula cukup mengklik tombol dan operasi yang kompleks dilakukan! Tidak diperlukan latar belakang! Anda bahkan tidak perlu tahu berapa banyak versi Windows yang telah Anda instal - alat ini mencoba untuk menemukan semuanya dan kemudian membuat loader untuk mereka jika loader yang sesuai belum ada dalam BCD - terminologi yang digunakan - "Buat Windows loader yang hilang" - I pikir semua orang yang berbahasa Inggris dapat memahami / mengklik / mengonfirmasi operasi semacam itu atau apakah saya salah?
Kompleksitas objek dan elemen dalam BCD adalah alami karena konsepnya mencakup booting OS Windows yang lebih baru dan lebih lama serta OS asing seperti Linux, Unix dll. Selain itu, ini adalah konsep umum untuk boot MBR dan booting EFI pada berbagai perangkat.
Bagian paling kompleks dari BCD adalah konsep perangkat . Anda memiliki perangkat partisi, perangkat ramdisk, perangkat file, perangkat cari - Anda harus meluangkan waktu untuk memahaminya dan saya pikir ini bukan untuk pengguna Windows normal. Forum penuh dengan pertanyaan tentang partisi disk yang merupakan topik yang jauh lebih kompleks. Banyak pengguna Windows bahkan tidak tahu tentang perbedaan antara partisi primer dan logis misalnya. Anda harus tahu tentang partisi jika ingin dual / multi-boot. Anda harus membeli tanah jika Anda ingin membangun rumah kedua.
Konsep BCD adalah sama sejak Vista - hanya elemen baru yang didefinisikan di Windows 7/8.
Saya pikir struktur registri untuk BCD dipilih sebagai Windows sudah mengimplementasikan antarmuka ini dan itu adalah antarmuka transaksional yang andal terbukti berfungsi selama bertahun-tahun. Jika konsep registri Windows secara umum adalah konsep yang baik atau buruk adalah topik lain.
Terserah programmer / pengembang untuk membuat antarmuka yang lebih ramah pengguna. Saya mulai dengan memberikan antarmuka yang sama - GUI setara dengan bcdedit - kemudian antarmuka dapat diabstraksi pada tingkat yang lebih tinggi berdasarkan pola penggunaan. Pandangan terstruktur tentang BCD sudah diterapkan. Ini adalah lapisan abstraksi dasar.
Level abstraksi selanjutnya adalah berkonsentrasi pada hubungan antar objek karena topik ini tidak dicakup oleh Microsoft. Bukan tugas yang mudah. Terminologi baru hadir dengan abstraksi.
sumber
Windows
di sini, dan yang lainWindows
di sana. Bagaimana saya boot di antara mereka?" Daripada tutorial lengkap tentang semua opsi BCDEdit, saya berharap untuk perintah yang hanya dapat menyelesaikan masalah yang satu ini (yang tampaknya sederhana). Mungkin hampir sesuatu yang sederhanamsconfig
, kecuali itu memungkinkan Anda menjelajah ke instalasi Windows lain dan itu akan menambahkannya untuk Anda.Anda memerlukan
BCDEdit /set
perintah untuk mengonfigurasi volume boot. Kemudian tambahkan entri ke menu sistem operasi Windows Boot Manager dengan memanggilBCDEdit /displayorder
perintah.Ini akan mengidentifikasi partisi OS lain atau perintah berikut juga
Baris berikut membuat entri dapat di-boot dengan menambahkannya ke menu
Anda dapat memverifikasi bahwa entri baru akan muncul pada menu boot dengan menjalankan perintah
bcdedit /enum ACTIVE
dan mencari entri Windows Legacy OS Loader.Catatan :
/create
perintah digunakan untuk menambahkan non-Microsoft OS ke entri boot loader.Untuk informasi lebih lanjut tentang ini, Anda dapat membaca ini artikel sumber ini
Mengenai pertanyaan Anda tentang " Perbedaan antara Windows Boot loader dan Boot manager "
Dari wikipedia
Lihat juga di technet .
Editor BCD Visual adalah versi GUI lanjutan dari utilitas bcdedit Windows.
Halaman unduh untuk editor BCD visual.
Cobalah opsi untuk memperbaiki di alat.
sumber
Meski sudah tua, saya ingin menambahkan jawaban, karena beberapa jawaban di atas mengandung informasi yang salah. Mereka mungkin bekerja, tetapi Anda tentu tidak memerlukan program eksternal, atau bahkan
bcdboot
untuk melakukannya. Untuk referensi informasi yang benar adalah sebagai berikut:Latar belakang BCD cepat jika baru di sana
BCD adalah konfigurasi boot Windows. Ini berisi banyak bagian, masing-masing diidentifikasi dengan nama (disebut "deskripsi") dan pengidentifikasi yang terlihat sedikit seperti ini: "{0743bb44-fda6-11e3-90c8-e3ee27f3aec6}".
Ada beberapa "pengenal terkenal", dan bcdedit akan membantu menggunakannya sebagai gantinya di mana ia bisa, (kecuali jika Anda menggunakan opsi
/v
(verbose) dengan/enum
). Mereka terlihat seperti ini: "{bootmgr}", "{memdiag}". Ini hanya nama singkatan untuk pengidentifikasi penuh, tetapi lebih mudah untuk digunakan. Anda bisa menggunakan keduanya.Anda bisa daftar bagian-bagian ini dengan perintah berikut ( "semua" adalah opsional, tetapi tanpa itu Anda tidak akan melihat daftar lengkap):
bcdedit /enum all
.Output khas:
Demikian pula, untuk memudahkan saat mengidentifikasi perangkat, ia akan menggunakan format seperti
\Device\HarddiskVolume2
, tetapi akan mengenali partisi dengan hurufnya ("C:") jika ada yang ditetapkan.Daftar yang dihasilkan oleh
/enum all
dimulai dengan bagian manajer boot firmware opsional (jika motherboard Anda memiliki EFI). Nama singkatannya adalah "{fwbootmgr}" . Ini mengontrol pilihan boot EFI awal (apakah akan menggunakan boot manager Windows biasa, atau perangkat tertentu). Secara umum Anda dapat mengabaikan {fwbootmgr} jika ada.Di bawahnya adalah "Windows Boot Manager" (pengidentifikasi "{bootmgr}" ). Ini adalah salah satu yang akan Anda kerjakan. Ini berisi konfigurasi untuk menu dasar atau apa pun yang Anda dapatkan saat startup (jika Windows Boot Manager berfungsi dan dapat menemukan BCD di tempat pertama).
Di bawah {bootmgr} ada sejumlah bagian "Windows Boot Loader" dan mungkin bagian lain, yang masing-masing mengontrol satu tindakan atau opsi boot.
Menyiapkan dual boot menggunakan bcdedit (Anda tidak perlu yang lain)
Untuk dual boot, Anda memberi tahu bcdedit ke entri Windows Boot Loader
/copy
bagus yang sudah dikenal untuk OS pertama Anda./copy
untuk menyalin entri yang sudah ada{current}
adalah pengidentifikasi entri yang ingin Anda salin. Ini jalan pintas untuk item boot saat ini. Jika itu bukan yang Anda ingin dual boot, gunakan pengidentifikasi yang benar untuk yang Anda inginkan. Teks deskripsi untuk setiap entri akan membantu menemukan yang Anda inginkan./d "Description for copied entry
akan menjadi deskripsi item baruItu akan membuat salinan dari entri itu, memberikan deskripsi yang dinyatakan, dan menanggapi dengan pengidentifikasi baru yang telah diberikan salinan:
Itu menciptakan entri independen dengan nama yang tepat, sekarang Anda harus mengatakannya apa yang harus dilakukan. Karena hampir tidak ada yang berubah di OS terbaru, Anda bisa mengatur perangkat dan osdevice ke partisi Win7 Anda, dan itu mungkin akan berfungsi. Jika perlu, lihat output / enum ketika Anda boot ke Win7 secara normal, dan salin entri yang tampaknya diharapkan. Tapi biasanya itu cukup untuk menetapkan huruf ke OS 2 Anda sementara, seperti "Q", dan kemudian perintahnya adalah:
bcdedit /set {NEW_IDENTIFIER} device partition=Q:
atau sesuatu, dan sama untukosdevice
. bcdedit akan memilah huruf drive, lihat di bawah. Anda dapat menghapus huruf temp drive setelah digunakan dalam bcd.Selanjutnya tambahkan ke daftar entri dalam {bootmgr} using
bcdedit /displayorder {NEW_ID} /addlast
, dan - yang terpenting - beri tahu bcd untuk menampilkan menu boot menggunakanbcdedit /set {bootmgr} displaybootmenu Yes
.Selesai
Catatan - aman untuk menggunakan huruf drive "ganjil" atau "salah" dalam BCD, dan aman jika output / enum memuatnya juga.
Untuk menjadi jelas, Anda tidak perlu khawatir tentang perangkat baru Anda yang diidentifikasi sebagai T: (atau apa pun itu) ketika "seharusnya C:". bcdedit menyimpan ID hard drive, bukan surat itu. Ini murni menerima dan menampilkan Q: untuk membantu. Jika perangkat memiliki surat itu akan menunjukkan surat secara default, bukan ID perangkat, untuk memudahkan Anda. Anda dapat melihat ini dengan menghapus atau menetapkan huruf dari OS ke-2 di DISKPART atau DISKMGMT.MSC dan output dari / enum akan segera kembali ke Perangkat \ sebagai gantinya. Ini sebenarnya menyimpan ID hard drive yang benar, dan ketika digunakan untuk boot, Windows akan menemukan perangkat itu - surat itu untuk kemudahan dan tidak pernah benar-benar disimpan.
sumber
{0743bb44-fda6-11e3-90c8-e3ee27f3aec6}
berasal? Anda sudah menyalin{current}
Windows Boot Loader ; apa hal lain yang Anda buat salinannya? (Bukan Windows Boot Manager yang saya asumsikan)Menanggapi pertanyaan spesifik penulis sebagaimana ditegaskan dalam komentar (meskipun itu berbeda dari pertanyaan awal mengenai
bcdedit.exe
urutan untuk mencapai hal yang sama):EasyBCD persis seperti yang Anda cari (gratis untuk penggunaan pribadi). Ini adalah alat manajer dual-boot visual untuk Windows, dan menambahkan entri Windows baru dengan titik-dan-klik, persis seperti yang Anda gambarkan .
Ada banyak sumber daya di EasyBCD online, jadi saya tidak akan mengulang semuanya di sini. Pada dasarnya EasyBCD merangkum kompleksitas
bcdedit.exe
dan memperluasnya dengan modul bootloader sendiri untuk memungkinkan Anda mengatur dual-boot dengan Windows versi lain (lebih baru atau lebih lama), serta Linux, BSD, dan banyak lagi.Pengungkapan penuh: Saya adalah penulis utama EasyBCD.
sumber
Ini dapat diarahkan ke file seperti .vhd file tetapi dibuat sebagai partisi disk dan diinisialisasi dan dilampirkan, atau dipasang dengan cepat dan reboot sebagai OS. OS dapat disembunyikan di dalam partisi lain. partisi lain dapat disembunyikan di dalam partisi lain dan OS di dalamnya. ketika Anda menjalankan
bcdedit
untuk diarahkan ke file .vhd lain di mana pun ia berada. Itu memuat. Instruktur saya menunjukkan ini di kelas tetapi gagal atau menolak untuk memberikan penjelasan lainbcdedit
. Tetapi ini berfungsi untuk menyembunyikan dan mengoperasikan OS yang berfungsi penuh.bcdboot e:\windows
bcdboot c:\windows
sumber