Bagaimana cara menggunakan BCDEdit untuk mem-boot dua kali instalasi Windows?


29

Apa bcdeditperintah 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:

Tangkapan layar manajer partisi Windows

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 bcdedituntuk menginstruksikan hal yang mem-boot Windows bahwa ada instalasi Windows lain di luar sana.

Berjalan bcdeditsekarang, 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:

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 /createparameter:

/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 applicationbisa 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 osloaderadalah "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 /createboot 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 idke 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

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.

Jawaban:


16

Ini bukan jawaban langsung untuk pertanyaan sebelum "Latar Belakang" tetapi menunjuk ke solusi alternatif untuk membuat entri loader untuk mem-boot dua (dan lebih banyak) Windows Vista dan kemudian OS. Silakan lihat juga jawaban kedua saya di bawah ini tentang kritik pada terminologi yang digunakan dalam Visual BCD.

Tidak ada panduan, perangkat, objek, elemen dan bla, bla, bla.

Latar Belakang Saya (lewati jika tidak tertarik dan buka solusi di bawah):

Saya telah mengimplementasikan Editor BCD Visual.

Selama proses implementasi saya harus membaca semua sumber yang tersedia di bcdedit dan antarmuka WMI BCD Provider (antarmuka pemrograman, dapat digunakan dengan C ++, C #). Dokumentasi dari Microsoft sangat buruk.

Di BCD ada objek (loader, pengaturan, elemen perangkat). Tidak ada dokumentasi tentang koneksi antar objek meskipun ada dependensi.

Ada lebih dari 140 (!) Elemen (properti) dari objek BCD di Windows 7. Saya tidak tahu arti dari beberapa elemen - tidak ada dokumentasi.

Di Windows 8 ada elemen baru - saya kira jumlah total sekarang mendekati 180 (!!). Tidak ada dokumentasi.

Di sisi lain ada dua utilitas yang sangat kuat untuk memanipulasi BCD: bcdboot dan reagentc.

bcdboot - membuat / memperbaiki loader default juga BCD dan lingkungan boot secara keseluruhan!

reagentc - menginstal / menghapus instalasi pemulihan (winre.wim)

Kedua alat tidak terdokumentasi dengan baik juga.

Solusi alternatif:

Hampir tidak perlu bcdedit karena hanya menggunakan bcdboot Anda dapat membuat loader untuk Windows Vista dan kemudian OS Windows - Anda membuat loader untuk OS paling awal, daripada untuk yang terbaru dan voila Anda telah menciptakan lingkungan boot untuk sistem dual / multi-boot:

Dengan asumsi Anda berada di Windows 8:

1. bcdboot f: \ windows (ini memetakan ke Windows 7 seperti pada gambar yang dimaksud)

2. bcdboot c: \ windows (ini memetakan ke Windows 8)

Selesai!

Aturan Microsoft Base untuk proses boot: Lingkungan boot (dan BCD) harus selalu di [disk pertama + partisi aktif]. (pada gambar - Disk 2 => Disk pertama dalam urutan boot BIOS!)

Terakhir tetapi tidak kalah pentingnya adalah utilitas bootsect untuk menulis MBR dan PBR (catatan boot master dan partisi) - sekarang standar di Windows 8 (hanya tersedia di WinRE sebelumnya).

Jadi hanya menggunakan bootsect dan bcdboot semua entitas boot untuk sistem dual boot dapat dibuat / diperbaiki.

Saya pikir proses boot untuk Vista dan kemudian dijelaskan dengan sangat baik di banyak situs internet bahkan di Microsoft.com.

catatan:

Salah satu situs terbaik tentang Windows BCD adalah situs Geoff Chappell - ada informasi lebih rinci di sana daripada di Microsoft.com. Pengguna yang tertarik dapat menemukan informasi yang cukup berguna di sana dan beberapa catatan penting pada dokumentasi bcdedit.


9

Ketika saya memformat drive C: untuk menginstal ulang Windows, catatan boot master dihapus dan penginstal Windows 7 gagal mengembalikannya. Saya bisa menggunakan alat bcdedit GUI seperti alat Edit Visual BCD, tetapi mengapa saya harus menginstal sesuatu ketika harus ada perintah sederhana dalam program bcdedit konsol yang dapat melakukan pekerjaan? Setelah banyak mencari melalui file bantuan online saya menyerah dengan bcdedit dan menemukan jawabannya terkubur dalam penyimpangan. Untuk membuat entri boot untuk partisi kedua Anda harus menggunakan bcdboot

Dengan asumsi Anda berada di C: \ Windows:

1. bcdboot e: \ windows

2. bcdboot c: \ windows

Ketika Anda reboot Anda akan disajikan dengan menu boot Windows dengan dua entri untuk Windows 7. Jika Anda memilih entri yang melakukan booting ke C: \ Windows Anda dapat mengubah nama entri untuk partisi ini dengan:

bcdedit / set {current} description "Windows 7 (Partisi 1)"

Ini menjadikan OS yang dibooting saat startup entri default di menu boot:

bcdedit / default {saat ini}

Ini menempatkan OS default saat memulai item pertama dalam menu boot

bcdedit / displayorder {default} / addfirst

Atau Anda bisa menjadikan OS saat startup item pertama di menu boot:

bcdedit / dispalyorder {current} / addfirst

Sekarang reboot dan pilih item kedua di menu boot yang harus diberi label "Windows 7". Setelah boot ke E: \ Windows ganti nama OS yang di-boot saat startup:

bcdedit / set {current} description "Windows 7 (Partisi 2)"

Uji bahwa menu booting berfungsi dengan baik dan simpan data bcd ke partisi yang tidak memiliki OS yang diinstal di dalamnya:

bcdedit / ekspor D: \ Saved_BCD_Settings \ SavedBCD

Jika Anda mengacaukannya nanti, Anda dapat memulihkan menu boot bcd dengan:

bcdedit / import D: \ Saved_BCD_Settings \ SavedBCD


Pengendara Motor saya, Anda hanya mengulangi jawaban saya yang diberikan beberapa bulan yang lalu. -1.
snayob

@snayob, saya menghargai jawaban Anda (+1), tetapi Motorcycleboy sedikit lebih detail tentang perintah setelah seseorang membuat bootentries. Sekarang, sesuatu yang tidak ada dalam seluruh diskusi ini adalah untuk apa perintah setara bcdeditini bcdboot e:\windows(lihat di sini untuk pertanyaannya)
Davor Josipovic

Saya tidak berpikir ada setara dengan perintah bcdedit untuk "bcdboot e: \ windows" sebagai salinan bcdboot dan perbaikan seluruh lingkungan boot (bootmgr + \ folder booting + perbaikan BCD + menambahkan entri untuk OS yang ditentukan)
snayob

{current}tidak bekerja.
Orient

5

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:

  1. menggunakan bcdedit.exe - antarmuka baris perintah
  2. Antarmuka Penyedia BCD WMI - antarmuka terprogram

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.


Saya mengerti BCD membungkus sistem yang sangat kuat, dengan banyak pilihan yang kompleks. Di sisi lain, saya pikir saya punya pertanyaan yang sangat sederhana, yang ditanyakan banyak orang selama bertahun-tahun - tetapi tidak pernah bisa diselesaikan. "Saya punya Windowsdi sini, dan yang lain Windowsdi 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 sederhana msconfig, kecuali itu memungkinkan Anda menjelajah ke instalasi Windows lain dan itu akan menambahkannya untuk Anda.
Ian Boyd

Saya harus mengatakan, alat Anda jauh lebih kuat daripada EasyBCD.
Milind R

3

Anda memerlukan BCDEdit /setperintah untuk mengonfigurasi volume boot. Kemudian tambahkan entri ke menu sistem operasi Windows Boot Manager dengan memanggil BCDEdit /displayorderperintah.

bcdedit / set {ntldr} boot perangkat

Ini akan mengidentifikasi partisi OS lain atau perintah berikut juga

bcdedit / set {ntldr} partisi perangkat = C:

Baris berikut membuat entri dapat di-boot dengan menambahkannya ke menu

bcdedit / displayorder {ntldr} / addlast

Anda dapat memverifikasi bahwa entri baru akan muncul pada menu boot dengan menjalankan perintah bcdedit /enum ACTIVEdan mencari entri Windows Legacy OS Loader.

Catatan : /createperintah 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

Proses startup Windows NT dimulai ketika komputer menemukan boot loader Windows, bagian dari sistem operasi Windows yang bertanggung jawab untuk menemukan Microsoft Windows dan memulai. Pada sistem IA-32 atau x64, boot loader disebut Windows Boot Manager (BOOTMGR). Namun sebelum Windows Vista, boot loader adalah NTLDR.

Lihat juga di technet .


Editor BCD Visual adalah versi GUI lanjutan dari utilitas bcdedit Windows.

Ini adalah alat GUI pertama yang mengimplementasikan pengeditan penuh toko Data Konfigurasi Booting Windows 7 / Vista.

Halaman unduh untuk editor BCD visual.

Cobalah opsi untuk memperbaiki di alat.


Tentang Windows Boot Manager : Windows Boot Manager pada dasarnya adalah sistem operasi mini yang mengontrol pengalaman boot Anda dan memungkinkan Anda untuk memilih aplikasi boot mana yang akan dijalankan. Ada berbagai aplikasi boot (misalnya, Windows Boot Loader) dan masing-masing melakukan sesuatu yang berbeda. Misalnya, aplikasi Windows Boot Loader memuat Windows. [...] Misalnya, jika Anda memiliki dua versi Win7 yang diinstal pada partisi yang berbeda, Anda akan melihat dua entri Windows Boot Loader. (diambil dari sini )
Davor Josipovic

3

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 bcdbootuntuk 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:

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

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 alldimulai 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 baru

Itu akan membuat salinan dari entri itu, memberikan deskripsi yang dinyatakan, dan menanggapi dengan pengidentifikasi baru yang telah diberikan salinan:

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

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

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 untuk osdevice. 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 menggunakan bcdedit /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.


Darimana Anda {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)
Ian Boyd

Terima kasih. Saya dapat mengkonfirmasi ini berfungsi seperti ini Windows 10 versi 1903 (build 18362). Saya memiliki gambar partisi Windows 10 OS NTFS yang saya kembalikan ke partisi di komputer lain, saya reboot dari menginstal media ke Windows Recovery dan menetapkan huruf driver menggunakan diskpart. Kemudian lakukan bcdedit / copy dari {default} (no {current} di WinRE) dan bcdedit / set perangkat dan osdevice ke drive baru. Saat reboot saya diberi pilihan OS untuk dijalankan dan reboot gambar lama dengan baik. Itu adalah Windows 10, yang merupakan boot yang sangat fleksibel terlepas dari perubahan HW lengkap.
Marko Kohtala

2

Menanggapi pertanyaan spesifik penulis sebagaimana ditegaskan dalam komentar (meskipun itu berbeda dari pertanyaan awal mengenai bcdedit.exeurutan untuk mencapai hal yang sama):

Mungkin hampir sesuatu yang sederhana seperti msconfig, kecuali itu memungkinkan Anda menjelajah ke instalasi Windows lain dan itu akan menambahkannya untuk Anda.

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.exedan 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.


-1
bcdedit
bcdboot
bcdedit /create

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 bcdedituntuk 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 lain bcdedit. Tetapi ini berfungsi untuk menyembunyikan dan mengoperasikan OS yang berfungsi penuh.

  1. bcdboot e:\windows
  2. bcdboot c:\windows
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.