Pertanyaan Bagaimana cara membuat USB flash drive Ubuntu bootable dari terminal?


Apakah ada cara untuk membuat bootable USB flash drive Ubuntu dari terminal tanpa menggunakan aplikasi pihak ketiga seperti YUMI, Unetbootin, Startup Disk Creator, dll.

Saya mencoba membuat drive flash Ubuntu bootable dengan dd metode,

sudo umount /dev/sdb
sudo dd if=/path/to/ubuntu.iso of=/dev/sdb bs=1M

Ini menciptakan file pada disk USB, tetapi ketika saya mencoba untuk mem-boot disk USB itu menunjukkan Operating System Not Found kesalahan.


263
2017-11-15 17:29


asal


Anda harus memastikan bahwa flash drive USB Anda TIDAK dipasang. Periksa dengan lsblk. Jika perlu, lakukan sudo umount / dev / sdb (mungkin sdb1, sdb2). Tambahkan; echo $? setelah perintah copy dd Anda. Jadi: sudo dd if = ... of = ... bs = 4M; echo $? Jika perintah berakhir, nilai yang dikembalikan harus 0.
saya mengikuti langkah Anda, tetapi juga membuat file yang sama dengan sudo umount /dev/sdb sudo dd if=/path/to/ubuntu.iso of=/dev/sdb bs=1M creating.It tidak membuat apapun ubninit,ldlinux.sys,etc file yang terutama penting adalah linux os untuk boot. - Avinash Raj
Saya akan menginstal grub pada MBR dari disk USB sebagai langkah terakhir. - Elder Geek
Itu termudah cara dengan alat built-in menggunakan terminal adalah dengan menggunakan dd seperti yang dijelaskan di sini. Ia bekerja dengan semua file iso hibrida. Tapi dd adalah alat berbahaya karena melakukan apa yang Anda katakan untuk dilakukan tanpa pertanyaan. Jadi jika Anda mengatakannya untuk menghapus foto keluarga ... dan itu adalah kesalahan ketik kecil. Banyak alat yang lebih aman. Mereka membantu Anda mengidentifikasi dan memilih drive target, dan menyediakan pemeriksaan terakhir, di mana Anda dapat memeriksa ulang, bahwa Anda akan menulis ke drive yang benar. Sebagian besar merupakan alat GUI, beberapa dapat berfungsi dalam mode teks juga, mis. mkusb-dus. - sudodus
Tautan berikut menunjukkan contoh, di mana drive internal ditimpa oleh kesalahan, ketika baris perintah dengan dd digunakan untuk membuat bootable USB flash drive Ubuntu, askubuntu.com/questions/982552/accidentally-did-dd-dev-sda - sudodus


Jawaban:


Kamu dapat memakai dd.

 sudo umount /dev/sd<?><?>  

dimana <?><?> adalah huruf diikuti dengan angka, lihatlah. Kemudian, selanjutnya:

 sudo dd bs=4M if=input.iso of=/dev/sd<?> conv=fdatasync

dimana input.iso adalah file input, dan /dev/sd<?> adalah perangkat USB yang Anda gunakan untuk menulis (jalankan lsblk untuk melihat semua drive untuk mencari tahu apa <?> untuk USB Anda).

Metode ini cepat dan tidak pernah mengecewakan saya.


EDIT: bagi mereka yang menggunakan Mac berakhir di sini, gunakan huruf kecil untuk bs=4m:

sudo dd if=inputfile.img of=/dev/disk<?> bs=4m && sync

EDIT: Jika drive USB tidak bisa boot (ini terjadi pada saya), itu karena target adalah partisi tertentu pada drive bukan drive. Jadi target perlu / dev / sdc dan tidak dev / sdc <?> Bagi saya itu / dev / sdb.

Referensi: https://superuser.com/a/407327 dan https://askubuntu.com/a/579615/669976


302
2017-11-13 11:51



itu tidak bekerja untukku. - Avinash Raj
Sangat? Apakah Anda yakin Anda memiliki nama file iso benar termasuk path, dan yang benar / dev untuk drive USB Anda? Bagaimana cara gagal? Apakah ada pesan kesalahan, atau apakah itu gagal untuk boot? Apakah Anda yakin iso tidak korup? - Marc
Anda bisa memiliki .iso korup. Sudahkah Anda memeriksanya? Apakah Anda yakin. Iso sebenarnya adalah salinan dari sesuatu itu aku s bisa di-boot? - Marc
Pertanyaan orisinal dan jawaban yang paling upvoted adalah orang yang sama yang mengatakan metode ini tidak berhasil untuknya. ;-) Bagi saya jawaban yang disetujui tidak berfungsi dan yang satu ini. :-) Upvoting. - Drachenfels
menggunakan df -lh untuk memeriksa apa dev/sdc itu kamu /media/user/XXXX-YYY (nama antarmuka USB) - Peter Krauss


Membuat USB flash drive Ubuntu yang dapat di-boot dari terminal

  • Tempatkan ubuntu.iso file dalam setiap partisi hard disk.

  • Kemudian mount ubuntu.iso file dengan perintah di bawah ini di terminal:

    sudo mkdir /media/iso/
    sudo mount -o loop /path/to/ubuntu.iso /media/iso
    
  • Masukkan USB flash drive Anda. Drive saya /dev/sdd. Berikut adalah tangkapan layar:

GParted screenshot

  • Drive Anda mungkin secara otomatis terpasang di dalam /media/. Mari kita asumsikan itu sudah terpasang /media/xxx/.

  • Salin semua file dari /media/iso/ ke USB flash drive Anda yang terpasang dengan menjalankan perintah di bawah (pastikan untuk menyertakan titik):

    cp -a /media/iso/. /media/xxx/
    
  • Selanjutnya, Anda membutuhkan ldlinux.sys file di USB flash drive Anda untuk membuat USB dapat di-boot. Partisi USB saya adalah /dev/sdd1; memasukkan lsblk untuk melihat apa milikmu. Jalankan perintah di bawah ini:

    sudo apt-get install syslinux mtools
    sudo syslinux -s /dev/sdd1
    
  • Arahkan ke /media/xxx mount folder dan ganti nama isolinux direktori ke syslinux. Lalu masuk ke folder berganti nama dan ubah nama file isolinux.cfg untuk syslinux.cfg.

  • Reboot PC Anda dan ubah urutan boot di BIOS untuk memungkinkan boot dari drive USB. Sekarang drive flash USB Ubuntu Anda akan boot dan Anda dapat menginstalnya.

Metode ini akan bekerja untuk distribusi Linux, tidak hanya Ubuntu. Anda tidak perlu menginstal perangkat lunak pihak ketiga apa pun untuk membuat USB flash drive Linux.


84
2017-11-07 18:19



Saya sedang mencobanya saat ini, bisakah Anda menyebutkan apa yang Anda gunakan: cp -a daripada cp -r - moldovean
Anda butuh sudo Untuk syslinux perintah. - Cammy_the_block
Metode ini tidak berhasil untuk saya. Cp -a memberi: 'cp: tidak dapat membuat tautan simbolik' /media/xxx/./ubuntu ': Operasi tidak diizinkan' dan lainnya sejenisnya, karena targetnya adalah fat32. Saya mencoba mengabaikan itu ... tidak berhasil - sheß
Penting untuk dicatat bahwa usb harus merupakan filesystem fat32, jika tidak syslinux tidak akan berfungsi - Ricardo BRGWeb
Konsol menunjukkan kesalahan yang sama dari @ sheß. Saya telah memverifikasi filesystem (FAT32) dan flag BOOT. - Chofoteddy


Anda hampir sampai di sana dd, tetapi Anda kehilangan satu langkah.

sudo umount /dev/sdX
sudo dd if=/path/to/ubuntu.iso of=/dev/sdX bs=4M && sync

dimana sdX adalah perangkat usb Anda (ini dapat diverifikasi dengan lsblk).

Itu sync bit penting sebagai dd dapat kembali sebelum operasi tulis selesai.


77



+1 untuk disebutkan sync. Tanpa itu, Anda tidak tahu apakah konten itu benar-benar disalin. Juga, jika Anda tidak terburu-buru, Anda harus md5sum kedua file hanya menjadi dua kali lipat. - Dave
Mungkin layak disebutkan USB mungkin perlu (kembali) diformat sebagai FAT32 dengan sudo mkfs.msdos -F 32 /dev/sdX pertama? - Nemo
@Nemo, apakah mungkin untuk membuat perbedaan? dd ke / dev / sdX akan menimpa sistem file yang ada. - mwfearnley
sync tidak ada gunanya di sini. Ini hanya mempengaruhi operasi sistem file. - punund
conv=fdatasync - secara fisik menulis data file keluaran sebelum selesai harus menjaga sinkronisasi, tetapi panggilan yang baik untuk memastikan bahwa perangkat dilepas terlebih dahulu. - Johnathon Havens


Anda memiliki dua pilihan.

Jika Anda menginginkan antarmuka grafis, gunakan usb-creator (di repositori ubuntu)

enter image description here

Jika Anda menginginkan alat baris perintah, gunakan dd

#Replace X accordingly in both commands

sudo umount /dev/sdX
sudo dd if=/path/to/ubuntu.iso of=/dev/sdbX bs=1M

Pastikan saja /dev/sdX adalah flash drive yang ingin Anda gunakan (itu akan menghancurkan data pada flash drive).

Lihat https://help.ubuntu.com/community/Installation/FromUSBStickuntuk informasi tambahan.


36



saya hanya ingin alat baris perintah, bukan alat gui (seperti pencipta disk startup) .Menurut dd metode, hanya 3 folder dan 1 file yang dibuat di usb saya. Sementara saya mencoba untuk boot dikatakan operating system not found kesalahan. File seperti ubninit,menu.c32,ubnpathl.txt,ubnfilel.txt,ldlinux.sys hilang (yang sangat penting untuk booting live ubuntu usb). - Avinash Raj
Saya mencoba metode dd dengan ubuntu.iso dan berhasil! itu terlalu banyak waktu namun harus ditulis pada USB. Saya ingin tahu apa bs = 1M singkatan. Saya menemukan situs ini manpages.ubuntu.com/manpages/karmic/id/man1/dd.1.html. Sekarang saya bertanya-tanya apakah mengubah nilai akan membuat menyalin ke USB lebih cepat? Dan apa risikonya .. mungkin ada yang tahu. - moldovean
B adalah ukuran blok. dd akan membaca 1MB data ke dalam memori dan kemudian melanjutkan untuk menulisnya di disk secara keseluruhan. Menggunakan ukuran blok yang sangat kecil Anda akan mendapatkan banyak overhead CPU. Menggunakan ukuran blok yang sangat besar dapat menyebabkan efek samping yang tidak terduga, mis. lagi jeda dari tidak ada aktivitas disk dan / atau penggunaan RAM yang besar. 1M atau 4M biasanya adalah nilai yang bagus ketika membuat disk dari ISO. Info lebih lanjut tentang ukuran blok: stackoverflow.com/questions/6161823/… - ApolloLV
Saya pikir membuat usb bootable adalah sesuatu yang jarang saya lakukan, tetapi ketika saya melakukannya, saya ingin itu dilakukan dengan benar. Ukuran blok yang lebih kecil bisa lebih lama, tetapi apakah itu masalah? Nggak. - Marc
@Marc - Satu-satunya masalah adalah kecepatan, ukuran blok yang lebih kecil tidak lebih atau kurang rentan kesalahan maka ukuran blok yang lebih besar dan dengan demikian ukuran blok yang lebih kecil! = "Selesai dengan benar". Dilakukan dengan benar berarti memeriksa md5sum iso dan mengkonfirmasikan md5sum dari gambar yang ditulis. Setelah Anda mengkonfirmasi m5dsums Anda tahu itu dilakukan dengan benar. - Panther


Pertama, unmount perangkat USB dan kemudian gunakan lsblk untuk memverifikasi perangkat.

Terkadang (biasanya file iso yang lebih lama) dd tidak cukup dan flashdisk tidak akan boot. Dalam hal ini, Anda mungkin perlu menginstal syslinux:

sudo apt-get install syslinux

lalu jalankan perintah berikut:

sudo mkfs -t vfat -I /dev/sdX

Anda ingin menjalankan perintah terakhir itu /dev/sdX dan tidak  /dev/sdX1.

Kemudian, lanjutkan dengan perintah berikut:

isohybrid /path/to/file.iso --entry 4 --type 0x1c
dd if='/path/to/file.iso' of=/dev/sdX bs=8M

atau, untuk melihat perkembangan penulisan gambar:

pv -tpreb /path/to/file.iso | dd of=/dev/sdX bs=8M

atau sebagai ganti dd, Kamu dapat memakai cat sebagai gantinya:

sudo -s
cat /path/to/file.iso > /dev/sdX

Rememeber untuk mengeluarkan perintah sinkronisasi untuk menyiram cache tulis

sync

web.archive.org/web/20140327085331/https://tails.boum.org/doc/first_steps/installation/manual/linux/index.en.html


23



Saya perlu menyebutkan bahwa bagi saya semuanya gagal, tetapi ini berhasil - saya memilih untuk cat perintah. - Digital Dracula
Bagi mereka yang bersikeras itu dd Cukup saja, saya juga membutuhkan ini untuk bekerja. - GuiRitter
Jika Anda menginginkan alat yang digunakan dd ketika ISO hibrida dan mount, salin file ISO + menginstal SYSLINUX ketika ISO tidak, gunakan bootiso sebagai gantinya. - Jules Randolph


$ dd if=ubuntu-14.04.1-desktop-amd64.iso of=/dev/sdX bs=1MB

Jangan gunakan jalan ke bit.

  1. Menggunakan cd perintah untuk masuk ke folder yang berisi file iso
  2. gunakan perintah dd if=FILE NAME HERE.iso of=/dev/sdX bs=1MB
  3. Tunggu hingga keluaran konsol terlihat seperti ini:

    1028+1 records in
    1028+1 records out
    1028653056 bytes (1.0 GB) copied, 55.4844 s, 18.5 MB/s
    
  4. Booting dari usb.

Catatan: Pastikan Anda menulis ke perangkat yang benar, USB tidak akan selalu dipasang di: dev/sdX di mana X bisa berupa huruf apa saja.


6



apa arti dari bs = 1MB dalam perintah dd ??? - juggernaut1996
@ juggernaut1996 tidak ada. Ini ukuran blok yang digunakan saat menyalin. Karena tidak ada argumen jumlah yang diberikan, ini akan menyalin seluruh input dalam 1MB blok. Itu bisa dihapus. - sjbx
"Jangan gunakan jalan ke bit" adalah kesalahan informasi. Proses itu sendiri tidak memanggang komponen jalur ke gambar yang disalin dalam langkah apa pun, jadi tidak relevan jika Anda menavigasi ke direktori yang berisi gambar ISO Anda atau hanya memberikan jalur lengkap. Selain itu, dd dapat menerima masukan dari stdin juga, sehingga Anda dapat dengan mudah menyambungkan dua dd ke eachother untuk memastikan tidak ada path yang dipanggang ke dalam gambar. - Gabor Garami
Itu akan bekerja untuk hibrida-ISO saja, yang mengisi sebagian besar kasus hari ini, tetapi ada pengecualian nyata seperti UltimateBootCD. Menggunakan bootiso sebagai gantinya. - Jules Randolph


Jika oleh "pihak ketiga" yang Anda maksud "gui", Saya menyarankan skrip ringan bernama bootiso setelah Avinash Raj jawaban, karena dd tidak selalu berfungsi. Nilai plus yang besar adalah sangat aman (melakukan banyak pemeriksaan keamanan untuk tidak mengacaukan sistem), mudah dipasang dan portabel.

Juga, bootiso akan memeriksa file ISO untuk memilih dari dua mode: image-copy (dd) ketika file ISO hibrid, yang ramah-USB. Dan mode mount-rsync ketika file ISO non-hibrida, dalam hal ini bootloader SYSLINUX akan diinstal secara otomatis jika didukung [detail lebih lanjut tentang perilaku otomatis].

Bagaimana cara menggunakannya

Opsi pertama, cukup berikan ISO sebagai argumen pertama dan Anda akan diminta untuk memilih drive di antara daftar yang diekstrak lsblk:

bootiso myfile.iso

Atau berikan perangkat USB secara eksplisit:

bootiso -d /dev/sde myfile.iso

Instalasi cepat

curl -L https://git.io/bootiso -O
chmod +x bootiso

Melihatnya dalam aksi:


5



Saya setuju, ini adalah skrip yang sangat bagus yang mengambil bagian-bagian yang menakutkan dari prosesnya. Detail lebih lanjut di sini: tecmint.com/create-bootable-usb-in-linux-commandline - kr37


Coba ini, dan jangan pernah gagal untuk 100+ kali:

Format kartu:

$ sudo mkfs.vfat -F32 /dev/sdx

Pasang gambar ISO:

$ sudo mount ubuntu.iso /mnt

Salin konten ke kartu:

$ sudo cp -rvf /mnt/* /SD_CardMountPoint

Kemudian:

  • ganti nama isolinux folder ke dalam syslinux
  • ganti nama syslinux/isolinux.cfg untuk syslinux/syslinux.cfg
  • ganti nama syslinux/isolinux.bin untuk syslinux/syslinux.bin
  • menjalankan syslinux -s /dev/sdx

-4



-1. Apakah Anda bahkan menguji ini? sudo cp -rvf /mnt/* /dev/sdx tidak akan berfungsi (atau setidaknya tidak melakukan apa yang Anda inginkan). Anda tidak menyalin file ke perangkat mentah (/dev/). Sebagai gantinya, Anda harus memasang kartu dan menyalin isi file ISO ke kartu (titik mount ke titik mount). Dan apa yang salah dengan jawaban yang diterima saat ini yang memiliki pendekatan yang sama. - gertvdijk