Beberapa penginstal Windows pada stik USB

12

Baru-baru ini saya mendapatkan salah satu stik SanDisk Extreme 64GB dan mulai mengotak-atiknya. Selama cerita ini, harap diingat bahwa ini adalah model di mana removablebit diatur ke 0(yang berarti Windows melihat semua partitons secara default - masing-masing ditampilkan sebagai disk tunggal dalam explorer).

Tujuan:

  1. Untuk memiliki banyak distribusi bootable yang berbeda pada satu tongkat
  2. Di antara mereka harus installer Windows 7 DAN installer Windows 8
  3. Hanya satu partisi yang harus dipasang secara otomatis di Windows (dan lebih disukai OS lain) - partisi pertama (penyimpanan untuk file). Ini untuk mencegah perubahan yang tidak disengaja dari partisi atau file yang dapat di-boot. Itu harus dari tipe NTFS.
  4. Secara opsional, saya juga ingin linux yang persisten sepenuhnya dapat di-boot langsung (sebaiknya Ubuntu) pada stik ini.
  5. Semua fitur ini harus tersedia dari satu menu yang ditunjukkan pada saat mem-boot mesin dari stik USB.

Rambling:

Sekarang semua ini dapat dicapai dengan cukup mudah dengan menggunakan kombinasi SYSLINUX dan GRUB (Anda akan melihat di bawah). Namun, ada satu masalah: semua item bootable berbasis Linux (yang menggunakan create ramdisk -> load kernel -> have funskema: seperti PartEd Magic, Ubuntu Installer, dll) tampaknya tidak memiliki masalah apa pun untuk dijalankan dari folder mereka sendiri pada satu partisi bootable. Mereka rukun ketika hanya menempatkan mereka di folder yang berbeda dan menunjuk entri menu SYSLINUX tunggal pada mereka (apa pun yang mereka gunakan setelah itu, mungkin hanya SYSLINUX lain :)).

Masalahnya (seperti biasa: D) ada di installer Windows. Mereka (atau harus saya katakan, bootmgr) menolak untuk mengenali jalur relatif. Jika Anda meletakkan satu penginstal Windows di folder, katakan, Win7sehingga terlihat seperti /Win7/bootmgr, thingie yang terkutuk itu mencari \Boot\BCDketika melewati kontrol (bukan \Win7\Boot\BCD- lokasi penyimpanannya sebenarnya). Setelah mengetahui hal itu, tentu saja, Anda tidak dapat menempatkan lebih dari satu installer Windows pada satu partisi (struktur direktori tunggal). Ini melanggar GOAL 2 .

Skema saat ini:

Butuh 10 reputasi untuk mengirim gambar :(. Berikut skema yang divisualisasikan.

Deskripsi:

  1. Partisi NTFS normal. Lakukan apa pun yang Anda inginkan dengannya - itu tidak akan memengaruhi tautan boot sensitif itu :)
  2. Partisi boot FAT32. Di sinilah kontrol ditransfer dari MBR. Yang ini harus utama untuk dapat ditransfer kontrol dari MBR. Ini berisi SYSLINUX utama - yang menunjukkan menu ( GOAL 5 dan GOAL 1 ). Semua partisi di bawah ini diperpanjang untuk mengangkat maksimum-4-primer-partisi per disk
  3. Pemasang Windows 7. Partisi ini berisi bootsector yang menunjuk ke GRUB di mana menunjuk ke /bootmgr(jangan bertanya mengapa begitu banyak bootloader - ini adalah setup tes :)). Berfungsi dengan baik kecuali masalah di bawah ini ( TUJUAN 2 ).
  4. Pemasang Windows 8. Partisi ini berisi bootsector yang menunjuk ke GRUB di mana menunjuk ke /bootmgr. Berfungsi dengan baik kecuali masalah di bawah ini ( TUJUAN 2 ).
  5. Partisi Linux persisten tempat Ubuntu dipasang menggunakan metode normal (dari stik USB yang sama). Ini menggunakan GRUB untuk mengelola menu boot-nya. Juga memiliki sektor boot ( TUJUAN 4 ).
  6. Linux Swap. Digunakan oleh Linux pada partisi sebelumnya biasanya tetapi tidak terikat oleh batasan siapa yang dapat menggunakannya.

Sekarang semuanya tampak benar (dan itu berfungsi) .. kecuali GOAL 3 .

Masalah:

  1. Saya telah mencoba menggunakan hiddenflag untuk menyembunyikan partisi-partisi tersebut dari pandangan Windows dan itu bekerja dengan baik, bahkan terlalu baik. Itu juga menyembunyikan mereka dari pandangan installer Windows. Ketika saya mencoba menginstal Windows dari partisi tersembunyi, installer pada dasarnya tidak menemukan dari mana ia boot: O. Ini adalah masalah KRITIS .
  2. Saya telah menggunakan 2 partisi tambahan untuk menampung installer Windows. Ini sebenarnya bukan skema yang bagus karena setiap kali saya ingin mengubah sesuatu dan tidak cocok untuk ini, saya harus mempartisi ulang. Ini adalah masalah NON-KRITIS - Saya bisa hidup dengan itu.

Pikiran saya:

  1. Ada hal-hal di luar sana seperti ISOLINUX dan GRUB4DOS (mereka muncul ketika Anda mencari tentang ini). Dari apa yang saya mengerti mereka dapat membantu saya benar-benar me-mount Iso bootable installer Windows . Benarkah itu? Beberapa halaman berisi peringatan tentang gambar yang dipasang seperti ini hanya akan dapat diakses pada tahap booting BIOS - ketika installer Windows memulai tidak akan dapat melihat gambar yang dipasang. Benarkah itu? Bisakah Anda mengarahkan saya ke arah yang benar?
  2. Mungkin aku bisa menggunakan beberapa installer kustom untuk Windows (karena pada dasarnya, saya berjuang bootmgrdi sini 100% dari waktu) atau chrootyang bootmgrentah bagaimana sehingga menjadi waras? Bisakah ini dilakukan? Saya pikir ini masih membuat saya bermasalah dengan partisi yang masih tersembunyi dan installer mungkin tidak akan melihatnya
  3. Mungkin saya bisa meretas jalan bootmgr, meskipun itu asumsi yang cukup berani :)

Jika ada saran tambahan mengenai hal ini, Anda dapat mendiskusikannya di sini. Saya terbuka untuk saran. Jika ada sesuatu yang perlu diklarifikasi atau info tambahan harus disediakan - jangan ragu untuk bertanya.

Terima kasih banyak!

Gear54rus
sumber
Pemasang Windows WRT: Mengapa Anda perlu beberapa bootloader? Seharusnya dimungkinkan untuk memodifikasi entri untuk dapat memulai kedua installer dari partisi yang sama menggunakan versi yang lebih baru (yaitu Windows 8 satu)?
Mario
Bisakah Anda memberikan contoh cara melakukannya? Sejauh yang saya mengerti Anda mengacu pada pengaturan di mana saya menggunakan bootmgr tunggal tetapi banyak installer? Adakah yang bisa saya baca tentang ini?
Gear54rus
Tidak pernah mencobanya sendiri, tetapi pada dasarnya boot manager pada DVD pengaturan tidak ada bedanya dengan instalasi HDD normal, jadi Anda harus dapat menggunakan alat seperti BCDEdit untuk membuat pengaturan "dual boot".
Mario
Ok, saya pikir saya menemukan solusi parsial. Saya akan memposting semuanya di sini ketika saya mengujinya dengan seksama. Saya masih memiliki masalah lain: Bagaimana cara membuat pemasang Windows melihat persembunyian tersembunyi
Gear54rus
Saya mengedit file BCD. Apa yang saya lakukan adalah membongkar penginstal Windows 7 .iso ke folder / Win7 pada partisi SYSLINUX. Kemudian saya menarik bootmgrdan bootdari Win7 ke folder root dan mengedit /boot/BCDfile untuk mencerminkan perubahan devicedan osdevicesimpul tersebut. Setelah itu instal boot dengan baik dari SYSLINUX via chain.c32 fs ntldr=/bootmgrtetapi setelah itu A required CD/DVD drive device driver is missingpesan yang ditakuti muncul. Memasukkan kembali ke port USB lain tidak membantu. Ketika saya mengklik Browsesaya melihat bahwa ramdisk sudah terpasang dengan baik dan memiliki semua folder yang dibutuhkan. Saya tersesat lagi :(
Gear54rus

Jawaban:

6

Setelah perjalanan yang panjang dan akhirnya sukses, saya dapat mencapai semuanya.

Saya telah membuat tutorial tentang cara melakukan ini . Coba lihat.

Per permintaan, saya juga memposting semuanya di bawah ini:

Perangkat lunak:

Pertama-tama: Anda memerlukan PC dengan Windows 7/8 dan akses administratif untuk itu (Vista mungkin berfungsi, tidak yakin). Di sinilah tutorial akan dilakukan.

Untuk melakukan semua yang kita perlukan paket perangkat lunak ini , itu juga dicerminkan pada GitHub (klik Unduh ZIP ). [0] (mulai sekarang, referensi akan ditandai dengan [] ). Untuk mengunduhnya, Anda mungkin perlu mendaftar di sana (tidak yakin mengapa).

Paket perangkat lunak meliputi:

  • YUMI oleh pendrivelinux.com . [1]
  • altmbr.bin dari SYSLINUX paket yang memungkinkan untuk boot partisi dengan nomor. [2]
  • Beberapa skrip dan satu executable (termasuk program vmount - versi 32 dan 64 bit oleh erwan.l dan sleep 32/64 bit dari utas ini untuk menjadikan ini semua bekerja bersama-sama [3] .

Selain itu, Anda perlu mengunduh yang berikut:

  • WinSetupFromUSB (nanti WSFUSB). Yang ini sangat penting agar skema ini berfungsi. Gunakan versi .exe jika Anda belum menginstal 7zip . Tutorial ini ditulis pada saat versi 1.4 adalah yang terbaru. [4]

Secara opsional (perangkat lunak yang saya sarankan akan membuat proses lebih mudah dan lebih fleksibel tetapi tidak diperlukan):

  • Gparted live .iso untuk mempartisi dan mengatur flag partisi (analog termasuk Parted Magic yang memutuskan untuk dibayar baru-baru ini atau Partition Wizard yang lebih kecil tetapi perlu diingat bahwa itu bukan Gparted dan Anda harus memiliki beberapa pengalaman untuk mengoperasikannya). [5]
  • Notepad ++ adalah editor teks unggul untuk Windows dengan banyak plugin. [6]

Dan tentu saja beberapa penginstal Windows .isodan juga beberapa distribusi Linux yang dapat di-boot. Mereka dapat berupa apa saja yang didukung YUMI dan SYSLINUX (Anda akan dapat memeriksanya nanti di tutorial ini).

Ketika Anda mengunduh semua ini, Anda siap untuk langkah selanjutnya.

Konsep:

Di sini, skema operasi akan dibahas secara singkat.

Skema yang dibahas di sini adalah apa yang saya gunakan untuk pengaturan saya. Ini jelas bukan satu-satunya cara untuk mencapai tujuan yang sama. Saya akan melakukan yang terbaik untuk mencoba dan menjelaskannya sehingga Anda dapat menyesuaikan pengaturan untuk kebutuhan Anda.

Proses ini tampaknya paling baik dijelaskan dalam gambar. (maaf untuk Paint, desain grafis bukan sisi kuat saya):

Konsep

Cukup banyak. Saya benar-benar tidak tahu bagaimana menjelaskannya dengan lebih baik. Saya akan memantau utas ini, jangan ragu untuk mengajukan pertanyaan dalam balasan.

Tindakan:

  1. [Mengkonfigurasi perangkat lunak]

    1. Ekstrak paket perangkat lunak [0] ke beberapa folder ( semua perangkat lunak yang diperlukan tercantum di atas, lihat di sana jika Anda belum melakukannya ).
    2. Ekstrak WinSetupFromUSB ke folder yang sama (sehingga itu di samping YUMI.exedan semua hal lainnya). Klik dua kali dan ekstrak ke folder yang sama.
    3. Sekarang ambil folder dengan WinSetupFromUSB dan seret ke drag_here.cmdfile. Seperti ini (struktur folder juga harus seperti ini): DND Jika Anda melakukan semuanya dengan benar, sebuah jendela akan ditampilkan yang mengatakan bahwa proses telah selesai:
      WinSetupFromUSB was set up successfully, you can delete that folder.
      Now it's time to run 'start_admin.cmd'.
      Press any key to continue...
    4. Seperti yang dikatakan, tekan tombol apa saja untuk menutup jendela. Jangan menjalankan start_admin.cmd. Pergi ke langkah selanjutnya untuk menentukan struktur partisi.
  2. [Partisi]

    1. Tentukan struktur partisi: Anda harus menyertakan setidaknya 1 partisi penyimpanan dan setidaknya 1 partisi boot . Partisi boot harus bertipe FAT32 ( FAT32 memiliki batasan file terbesar - 4GB dan volume terbesar - 32GB yaitu 32768MB . Jika Anda berencana untuk menggunakan file atau volume yang lebih besar, Anda tidak dapat menggunakan NTFS tetapi Anda dapat mencoba exFAT sebagai Percobaan - Saya tidak mencobanya) dan penyimpanan bisa apa saja tetapi saya merekomendasikan NTFS. Milik saya terlihat seperti ini: Partisi Struktur penyimpanan adalah 32GB NTFS dan Partisi boot adalah FAT32 15GB (tidak memiliki huruf seperti G: karena flag sudah disembunyikan sudah diatur, Anda akan belajar tentang itu nanti).Jika Anda menggunakan disk besar, mungkin ide yang baik untuk menempatkan partisi boot terlebih dahulu karena beberapa BIOS mengalami kesulitan membaca di luar batas tertentu .
    2. Cara Manajemen Disk dijelaskan di sini tetapi Anda dapat menggunakan perangkat lunak lain yang Anda suka untuk menerapkan struktur partisi (seperti Gparted [5] yang disebutkan sebelumnya atau Bootice yang dapat diluncurkan dari WinSetupFromUSB ). Buka Manajemen Disk di Windows. Ini dapat dilakukan melalui pencarian di menu mulai (ketik Disk Management ) atau di Windows Command Prompt: diskmgmt .
    3. Terapkan struktur partisi yang diinginkan. Klik kanan setiap partisi untuk mengelolanya. Klik kanan ruang yang tidak terisi kiri setelah penghapusan partisi untuk membuat partisi baru. Selalu pilih untuk menetapkan huruf drive dan Anda dapat dengan bebas memformatnya dengan benar di wizard yang sama: Pembuatan partisi
    4. Sebelum keluar dari Manajemen Disk, catat nomor partisi boot Anda dan nomor disk Anda di sistem. Ini adalah bagaimana mereka terlihat dalam Manajemen Disk: Indeks Di sini, nomor disk adalah 2 dan nomor partisi boot adalah 1 .
    5. Ketika Anda selesai menerapkan skema partisi, saatnya untuk membuat drive ini benar-benar dapat di - boot .
  3. [Menambahkan lingkungan boot dasar (YUMI)]

    1. Buka folder dari langkah 1 . Mulai YUMI.exe.
    2. Centang kotak Tampilkan Semua Drive dan pilih partisi boot Anda dari daftar dropdown. Anda juga dapat memilih untuk memformatnya .
    3. Sekarang, saatnya untuk menambahkan beberapa distribusi berbasis Linux. Saya telah memilih Partition Wizard sebagai contoh (Anda dapat memilih distribusi lain serta menambahkan lebih dari satu, tautan ke Partition Wizard diberikan di bagian PERANGKAT LUNAK ). Disarankan untuk menambahkan semua distribusi berbasis Linux pada saat ini, karena akan lebih sulit dilakukan nanti setelah disk selesai .
    4. Pilih Browse dan pilih .isogambar Anda . Layar akan terlihat seperti ini: YUMI
    5. Klik Buat dan ikuti instruksi di layar. Ketika ditanya apakah Anda ingin menambahkan lebih banyak, Anda dapat memilih ya dan ulangi prosedur ( jangan memilih opsi pemformatan saat mengulangi prosedur, tentu saja ) untuk menambahkan distribusi lain.
    6. Pada titik ini, disk dapat di-boot. Putuskan sambungan disk dan sambungkan kembali (ini diperlukan untuk Windows untuk mendeteksi partisi sebagai aktif dengan benar).
    7. Buka folder dari langkah 1 dan jalankan start_admin.cmd sebagai Administrator . Ini sangat penting untuk operasinya, klik kanan dan pilih Run as Administrator : Jalankan sebagai admin
    8. Ini akan menanyakan nomor disk dan nomor partisi yang dapat di - boot (langkah 2.4 ). Buka kembali Manajemen Disk dan temukan angka-angka itu seperti yang Anda lakukan pada langkah 2.4 . Tentukan nomor masing-masing dan tekan Enter .

    [PERHATIAN] Sekali lagi, saya tidak bertanggung jawab atas apa yang terjadi pada disk Anda (termasuk yang tidak disebutkan dalam tutorial ini) jika Anda gagal menentukan disk yang tepat dan nomor partisi pada langkah ini atau di tempat lain.


    1. Pada akhirnya, itu akan menanyakan apakah Anda ingin file executable dikompresi sebelum dimasukkan ke drive USB Anda. Ukuran jarang menjadi masalah saat ini, jadi saya sarankan masuk ke nsini (efek samping yang tidak terdeteksi mungkin muncul kemudian jika Anda menekan y, hanya melakukannya jika Anda tahu apa yang Anda lakukan).
  4. [Menambahkan penginstal berbasis Windows (WinSetupFromUSB)]

    1. Kembali di folder yang sama, masuk ke dalam folder WSFUSB ( bukan folder WinSetupFromUSB ) dan jalankan WinSetupFromUSB.exe yang sesuai untuk arsitektur sistem Anda.
    2. Pilih partisi Anda di menu dropdown paling atas. Pastikan untuk melakukannya dengan hati-hati.
    3. Centang kotak di sebelah penginstal Windows 7/8 dan klik tombol di sebelah kanan untuk memilih penginstal Windows .iso .
    4. Pilih kotak Opsi lanjutan . Pastikan bahwa Jangan memeriksa dan menginstal MBR grub4dos dan Luncurkan Q-Dir sebelum Setup .
    5. Periksa kembali pengaturan Anda dan pastikan mereka terlihat hampir 100% identik (kecuali disk dan .isojalur) dengan contoh ini: WSFUSB
    6. Secara opsional, Anda dapat memilih nama menu Kustom untuk Vista / 7/8 / Server Source sehingga Anda dapat melihat nama kustom ketika memilih distribusi Windows saat boot.
    7. Saat Anda siap, tekan tombol GO . Jika Anda memilih kotak dari langkah 4.7 , itu akan menanyakan nama. Setelah itu, tunggu operasi selesai .
    8. Ulangi langkah-langkah untuk setiap distribusi Windows yang ingin Anda tambahkan.
  5. [ Finalisasi ]

    1. Pada titik ini kami memiliki 2 struktur yang dapat di-boot : satu untuk Linux ( mulai dari MBR ) dan satu untuk Windows (mulai dari bootmgr di partisi boot Anda). Kita perlu menghubungkan mereka. Buka partisi yang dapat di-boot di Windows explorer .
    2. Buka file <drive root>\multiboot\syslinux.cfg. Ini berisi informasi tentang menu yang ditampilkan saat boot dari drive Anda. Informasi lebih lanjut tentang hal ini dapat ditemukan di sini: sintaks menu.c32 - syslinux.cfg , chain.c32 perintah chainloader . Untuk saat ini, kita perlu membuat entri menu yang memungkinkan kita untuk mem-boot installer Windows kita. Tambahkan baris berikut di bagian bawah (atau di antara entri menu lainnya) untuk membuat entri menu baru:
      MENU LABEL Windows Installers/Recoveries >>>
      MENU INDENT 1 
      KERNEL chain.c32
      APPEND fs ntldr=/bootmgr
      Lebih disukai, tambahkan baris baru yang kosong sebelum dan sesudah kode ini . Sesuaikan label entri menu jika Anda mau. Simpan dan tutup file.
    3. [OPTIONAL DARI SINI] Buka WinSetupFromUSB lagi. Kami akan menghapus entri menu Kembali ke Menu Utama (Grub4dos) basi dari menu penginstal Windows. Pilih alat Bootice .
    4. Pergi ke BCD Edit . Pilih File BCD lain dan temukan <drive root>\boot\bcdfile di partisi boot Anda: Bootice
    5. Tekan Easy mode untuk mengedit file BCD (data konfigurasi booting): BCD CATATAN: Jika Anda hanya memiliki 1 installer, file tersebut akan dimuat tepat setelah Anda menekan entri menu yang Anda tambahkan ke syslinux.cfg mulut tanpa menampilkan menu apa pun sama sekali . Selain itu, Anda mungkin ingin menekan Atur sebagai default pada item menu apa pun yang ingin Anda jadikan default . Klik Tutup dan keluar dari alat Bootice . Keluar dari WinSetupFromUSB juga.
  6. [Pembersihan (OPTIONAL)]

    1. Sekarang kita perlu menghapus file basi. Anda dapat melewati bagian ini jika Anda tidak peduli tentang hal-hal semacam ini. Buka partisi yang dapat di- boot di Windows explorer. Juga, buka partisi pertama di drive Anda ( mungkin satu dan sama ).
    2. File dan folder berikut diperlukan agar disk ini berfungsi ( jika folder tersebut terdaftar, semua kontennya perlu dipertahankan ):
      \boot
      \efi
      \multiboot
      \WINSETUP
      \bootmgr
      
    3. File dan folder berikut dapat dihapus dengan aman:
      .disk
      \default
      \grldr
      \menu.lst
      \plpbt.bin
      \shifthd.bat
      \usbdrive.tag
      
      Hapus mereka sesuka hati . Selain itu, Windows dapat membuat Informasi Volume Sistemnya yang bodoh - Anda juga dapat menghapusnya jika beruntung. Juga, ini adalah titik di mana Anda dapat mengubah nama partisi boot Anda dari MULTIBOOT ke nama lain (saya lebih suka hanya Boot ). Anda dapat melakukannya seperti halnya dengan folder apa pun melalui Windows explorer.
  7. [Menyembunyikan partisi boot (OPTIONAL)]

    1. Sekarang Anda mungkin ingin menyembunyikan partisi boot Anda untuk mencegah perubahan yang tidak disengaja dari semua file di dalamnya. Ini berarti bahwa itu tidak akan terlihat pada sebagian besar sistem secara default ketika memasukkan disk Anda, tetapi Anda masih dapat boot dari itu. Buka WinSetupFromUSB lagi.
    2. Buka alat Bootice dan pilih tab Disk Fisik jika belum dipilih. Pilih disk Anda (hati-hati) di menu dropdown.
    3. Klik tombol Kelola Bagian . Daftar partisi akan ditampilkan.
    4. Temukan partisi Anda di daftar dan tekan tombol Hide . Sebuah jendela yang mengkonfirmasi kesuksesan akan muncul. Semuanya akan terlihat seperti ini: Sembunyikan ini Itu dia . Partisi Anda tidak lagi dipasang otomatis (tidak akan memiliki huruf drive) di sebagian besar sistem dan file yang diperlukan untuk mem-boot drive tidak akan diubah secara tidak sengaja .

Juga, saya lebih suka menyimpan program vmount ( [3] di bagian PERANGKAT LUNAK ) untuk dapat dengan cepat me-mount partisi tersembunyi di bawah Windows jika saya perlu.

Cukup banyak, jika Anda melihat kesalahpahaman atau kesalahan, jangan ragu untuk mempostingnya di sini. Juga, pertanyaan dan umpan balik dipersilakan.

Kredit:

Wonko , erwan.l , ilko , Steve - anggota komunitas reboot.pro yang sangat membantu saya dalam utas ini . Di sinilah perjalanan berakhir :)

Bob yang awalnya mengisyaratkan tentang driver ImDisk di ruangan ini .

Mario yang mendidik tentang file BCD, tujuan mereka dan sarana untuk mengeditnya dalam pertanyaan asli ini . Di sinilah perjalanan dimulai.

Ricky yang memperbaiki kesalahan dalam lekukan.

Gear54rus
sumber
Akan lebih bagus jika Anda bisa menyalin solusi Anda di sini juga.
Cristian Ciupitu
Bagus sekali. Panduan rinci menakjubkan.
Devian