Jika Anda bisa melakukan semua tugas ini dari dalam desktop linux Anda, Anda akan goyang rumah. Saya pikir bagian terberat akan mengutak-atik semua operasi yang dilakukan Diskpart Windows. Membuat partisi ditandai sebagai 'aktif' dan 'boot', 'primer', dll.
p.campbell
3
Saya pikir GParted ( gparted.sourceforge.net ) dapat menangani semua flag partisi dengan baik. Lihat misalnya gparted.sourceforge.net/screenshots.php . Dan saya belum menguji tetapi sepertinya rsync dapat menggantikan robocopy dalam daftar periksa itu.
Oke, setelah gagal mencoba semua metode yang disebutkan di sini, saya akhirnya berhasil. Pada dasarnya, langkah yang hilang adalah menulis sektor boot yang tepat ke stik USB, yang dapat dilakukan dari Linux dengan ms-sysatau lilo -M. Ini bekerja dengan versi ritel Windows 7.
Ini adalah daftar lengkap lagi:
Instal ms-sys - jika tidak ada di repositori Anda, dapatkan di sini . Atau sebagai alternatif, pastikan lilo sudah terinstal (tetapi jangan jalankan langkah liloconfig di kotak lokal Anda jika mis. Grub dipasang di sana!)
Periksa perangkat apa yang ditetapkan oleh media USB Anda - di sini kami asumsikan itu /dev/sdb. Hapus semua partisi, buat yang baru mengambil semua ruang, setel jenis menjadi NTFS (7), dan jangan lupa untuk mengaturnya agar dapat di-boot:
# cfdisk /dev/sdbataufdisk /dev/sdb ( tipe partisi 7 , dan bendera yang dapat di - boot )
Buat sistem file NTFS:
# mkfs.ntfs -f /dev/sdb1
Tulis Windows 7 MBR pada stik USB (juga berfungsi untuk windows 8), beberapa pilihan di sini:
# ms-sys -7 /dev/sdb
atau (mis. pada pemasangan Ubuntu yang lebih baru) sudo lilo -M /dev/sdb mbr( info )
atau (jika syslinux diinstal), Anda dapat menjalankan sudo dd if=/usr/lib/syslinux/mbr/mbr.bin of=/dev/sdb
Pasang media ISO dan USB:
# mount -o loop win7.iso / mnt / iso
# mount / dev / sdb1 / mnt / usb
Salin semua file:
# cp -r /mnt/iso/* /mnt/usb/... atau gunakan peramban file GUI standar sistem Anda
Panggil syncuntuk memastikan semua file ditulis.
Buka gparted, pilih drive USB, klik kanan pada sistem file, lalu klik "Kelola Bendera". Centang kotak centang boot, lalu tutup.
... dan kamu sudah selesai.
Setelah semua itu, Anda mungkin ingin mencadangkan media USB Anda untuk instalasi lebih lanjut dan menyingkirkan file ISO ... Cukup gunakan dd:
# dd if=/dev/sdb of=win7.img
Catatan, ini menyalin seluruh perangkat! - yang biasanya (jauh) lebih besar dari file yang disalin ke sana. Jadi saya malah mengusulkan
# dd count=[(size of the ISO file in MB plus some extra MB for boot block) divided by default dd blocksize] if=/dev/sdb of=win7.img
Seperti biasa, periksa ulang nama perangkat dengan sangat hati-hati saat bekerja dengannya dd.
Metode membuat USB bootable yang disajikan di atas juga berfungsi dengan penginstal Win10. Saya mencoba menjalankan Ubuntu 16,04 menyalin Win10_1703_SingleLang_English_x64.iso (ukuran 4,241,291,264 bytes) ke 8 GB USB-stick - di boot non-UEFI [non-secure] saja. Setelah eksekusi, laporan dd: 8300156 + 0 catatan dalam 8300156 + 0 mencatat 4249679872 byte (4,2 GB, 4,0 GiB) disalin, 412,807 dtk, 10,3 MB / s
Membalikkan jika / kali Anda ingin menempatkan installer Windows 7 ke USB.
Akan menyenangkan untuk menyebutkan jenis partisi numerik untuk digunakan dalam cfdisk juga (7, 86, 87?)
Johan Dahlin
5
Ini bekerja dengan tipe 7
Ropez
3
Sekedar catatan: Jika filesystem ntfs Anda memberikan kesalahan izin aneh saat Anda menulisnya bahkan sebagai root, pastikan Anda telah menginstal ntfs-3g.
Jeremy Salwen
1
Saya mencoba ini langsung ke hard drive, dan saya mendapat kesalahan "windows tidak dapat mengakses sumber instalasi" begitu saya boot dari itu.
Jeremy Salwen
4
panggilan syncsetelah salinan untuk memastikan semua file ditulis
Nicolas Dusart
13
Anda dapat melakukannya dengan dd, jika PC Anda mendukung UEFI, dan, dengan ekstensi, disk GPT.
Buka terminal, Anda harus menemukan perangkat apa yang merupakan pendrive Anda. Jika drive sudah terpasang, Anda dapat menemukan nama perangkat dengan mengetik "mount" dan melihat entri itu. Sesuatu seperti yang berikut ini:
/dev/sdb1 on /media/USBDISK type vfat (rw,nosuid,nodev,uhelper=hal,uid=1000,utf8,shortname=mixed)
Dalam hal ini, partisi pertama dari / dev / sdb sudah terpasang di / media / USBDISK. Buka shell root dan unmount drive.
umount /dev/sdb1
Pergi ke direktori di mana ISO Anda disimpan dalam root shell dan ketik yang berikut ini: (Ganti windows7.iso dengan apa pun iso disebut, dan / dev / sdb dengan id perangkat stik usb Anda).
dd if=windows7.iso of=/dev/sdb
Jika motherboard Anda mendukung booting dari pendrive, motherboard Anda seharusnya bisa mem-boot-nya. Ini akan membuat pemasang pada pendrive bukan OS itu sendiri.
Apakah motherboard Anda mendukung booting dari USB? Itu akan menjadi faktor penentu utama dari apakah pendekatan ini akan berhasil atau tidak.
TrueDuality
11
Juga tidak bekerja untuk saya dan mesin saya mendukung booting USB. Mungkin pendekatan ini dapat bekerja pada mesin yang dapat mem-boot penyimpanan USB bergaya DVD tetapi kebanyakan BIOS menganggap tata letak gaya HDD pada USB (artinya 512 byte MBR dengan kode booting di dalamnya). Satu hal yang patut disebutkan: gambar Fedora CD / DVD, tidak seperti W7, memang memiliki MBR dengan kode boot dan tabel partisi, membuatnya cocok untuk boot HDD / USB juga.
Tronic
9
Ini mengharuskan motherboard Anda untuk melakukan boot USB-CDROM bukan hanya USB-HDD
TrueDuality
12
Solusi ini tidak memiliki langkah instalasi MBR, dan biasanya tidak akan berfungsi kecuali jika sudah ada secara ajaib. Solusi oleh @Gunthers selesai.
stolsvik
5
Saran PCambell bagus tetapi Anda juga ingin menghapus MBR, padanan linux di bawah ini
Saya mencoba ini dan berhasil (saya tidak yakin mengapa metode dd gagal tetapi sepertinya partisi harus ntfs?):
tentukan mana / dev / perangkat yang merupakan usb flash drive Anda dan lepaskan pemasangannya
hapus MBR: dd if = / dev / zero of = / dev / device bs = 446 count = 1
jalankan fdisk / dev / perangkat
hapus semua partisi dan buat 1 partisi primer, buat itu bisa di-boot lalu simpan perubahannya
jalankan mkfs.ntfs / dev / device1 (partisi 1)
salin seluruh konten windows install iso ke partisi yang Anda buat
Jawaban:
Oke, setelah gagal mencoba semua metode yang disebutkan di sini, saya akhirnya berhasil. Pada dasarnya, langkah yang hilang adalah menulis sektor boot yang tepat ke stik USB, yang dapat dilakukan dari Linux dengan
ms-sys
ataulilo -M
. Ini bekerja dengan versi ritel Windows 7.Ini adalah daftar lengkap lagi:
Instal ms-sys - jika tidak ada di repositori Anda, dapatkan di sini . Atau sebagai alternatif, pastikan lilo sudah terinstal (tetapi jangan jalankan langkah liloconfig di kotak lokal Anda jika mis. Grub dipasang di sana!)
Periksa perangkat apa yang ditetapkan oleh media USB Anda - di sini kami asumsikan itu
/dev/sdb
. Hapus semua partisi, buat yang baru mengambil semua ruang, setel jenis menjadi NTFS (7), dan jangan lupa untuk mengaturnya agar dapat di-boot:# cfdisk /dev/sdb
ataufdisk /dev/sdb
( tipe partisi 7 , dan bendera yang dapat di - boot )Buat sistem file NTFS:
# mkfs.ntfs -f /dev/sdb1
Tulis Windows 7 MBR pada stik USB (juga berfungsi untuk windows 8), beberapa pilihan di sini:
# ms-sys -7 /dev/sdb
sudo lilo -M /dev/sdb mbr
( info )sudo dd if=/usr/lib/syslinux/mbr/mbr.bin of=/dev/sdb
Pasang media ISO dan USB:
Salin semua file:
# cp -r /mnt/iso/* /mnt/usb/
... atau gunakan peramban file GUI standar sistem AndaPanggil
sync
untuk memastikan semua file ditulis.Buka gparted, pilih drive USB, klik kanan pada sistem file, lalu klik "Kelola Bendera". Centang kotak centang boot, lalu tutup.
... dan kamu sudah selesai.
Setelah semua itu, Anda mungkin ingin mencadangkan media USB Anda untuk instalasi lebih lanjut dan menyingkirkan file ISO ... Cukup gunakan dd:
# dd if=/dev/sdb of=win7.img
Catatan, ini menyalin seluruh perangkat! - yang biasanya (jauh) lebih besar dari file yang disalin ke sana. Jadi saya malah mengusulkan
Jadi misalnya dengan 8 M byte tambahan:
Seperti biasa, periksa ulang nama perangkat dengan sangat hati-hati saat bekerja dengannya
dd
.Metode membuat USB bootable yang disajikan di atas juga berfungsi dengan penginstal Win10. Saya mencoba menjalankan Ubuntu 16,04 menyalin Win10_1703_SingleLang_English_x64.iso (ukuran 4,241,291,264 bytes) ke 8 GB USB-stick - di boot non-UEFI [non-secure] saja. Setelah eksekusi, laporan dd: 8300156 + 0 catatan dalam 8300156 + 0 mencatat 4249679872 byte (4,2 GB, 4,0 GiB) disalin, 412,807 dtk, 10,3 MB / s
Membalikkan jika / kali Anda ingin menempatkan installer Windows 7 ke USB.
sumber
sync
setelah salinan untuk memastikan semua file ditulisAnda dapat melakukannya dengan dd, jika PC Anda mendukung UEFI, dan, dengan ekstensi, disk GPT.
Buka terminal, Anda harus menemukan perangkat apa yang merupakan pendrive Anda. Jika drive sudah terpasang, Anda dapat menemukan nama perangkat dengan mengetik "mount" dan melihat entri itu. Sesuatu seperti yang berikut ini:
Dalam hal ini, partisi pertama dari / dev / sdb sudah terpasang di / media / USBDISK. Buka shell root dan unmount drive.
Pergi ke direktori di mana ISO Anda disimpan dalam root shell dan ketik yang berikut ini: (Ganti windows7.iso dengan apa pun iso disebut, dan / dev / sdb dengan id perangkat stik usb Anda).
Jika motherboard Anda mendukung booting dari pendrive, motherboard Anda seharusnya bisa mem-boot-nya. Ini akan membuat pemasang pada pendrive bukan OS itu sendiri.
sumber
Saran PCambell bagus tetapi Anda juga ingin menghapus MBR, padanan linux di bawah ini
Saya mencoba ini dan berhasil (saya tidak yakin mengapa metode dd gagal tetapi sepertinya partisi harus ntfs?):
sumber
Dari pada
Anda menulis sebagai
root
,(TAMBAH 1 di bagian akhir atau apa pun yang menggunakan drive USB Anda.)
sumber
dd
perlu menulis ke perangkat, bukan ke partisi