Creating and managing a bootable USB drive
Step-by-step pembuatan bootable USB via terminal dengan mitigasi risiko penghapusan disk. Termasuk prosedur konversi kembali ke media backup dan skrip otomasi rsync untuk manajemen data.
Create
Prasyarat
Sebelum memulai, pastikan:
- Hak akses root atau izin
sudo
- File ISO distribusi Linux yang valid
- USB flash drive dengan kapasitas memadai (minimal 4GB untuk kebanyakan distribusi)
- Backup data penting pada USB target (proses akan menghapus seluruh konten)
1. Identifikasi Perangkat Storage
Eksekusi perintah berikut untuk enumerasi perangkat:
1
sudo fdisk -l
atau
1
lsblk
Output kritis:
1
2
3
4
5
6
7
8
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 223.6G 0 disk # Disk internal (HINDARI!)
├─sda1 8:1 0 476M 0 part /boot/efi
├─sda2 8:2 0 1.9G 0 part [SWAP]
└─sda3 8:3 0 221.2G 0 part /
sdb 8:16 0 931.5G 0 disk # Disk internal (HINDARI!)
└─sdb1 8:17 0 931.5G 0 part /home
sdc 8:32 1 116.6G 0 disk # Perangkat USB target
Catatan Keamanan:
- Konfirmasi ukuran USB (
116.6G
pada contoh) - Catat identifier perangkat (
/dev/sdx
tanpa suffix numerik)
Gantilah
sdx
dengan nama partisi USB.
2. Unmount Partisi Aktif
Lepaskan semua mount point terkait USB:
1
sudo umount /dev/sdx*
3. Penulisan ISO dengan dd
Gunakan perintah berikut (ganti file.iso
dan /dev/sdx
sesuai konteks):
1
sudo dd if=~/path/to/file.iso of=/dev/sdx bs=4M status=progress oflag=sync conv=fsync
Parameter Kunci:
Parameter | Fungsi |
---|---|
bs=4M | Optimasi ukuran blok untuk throughput maksimal |
status=progress | Monitor real-time kecepatan transfer |
oflag=sync | Memastikan operasi tulis diselesaikan sebelum perintah keluar |
conv=fsync | Sinkronisasi metadata fisik setelah penulisan |
Waktu proses bervariasi tergantung ukuran ISO dan kecepatan USB (biasanya 3-10 menit).
4. Eject Aman
Setelah selesai (terminal menampilkan statistik input/output):
1
sudo eject /dev/sdx
Cabut fisik USB setelah notifikasi sistem.
Verifikasi Integritas (Opsional)
Uji Konsistensi SHA256
- Hitung checksum ISO asli:
1
sha256sum ~/path/to/file.iso
Contoh output:
a1b2c3d4...7890
- Verifikasi konten USB:
1
sudo dd if=/dev/sdx bs=4M count=$(($(wc -c < ~/path/to/file.iso)/4194304 + 1)) 2>/dev/null | sha256sum
Bandingkan nilai hash kedua output. Nilai identik mengkonfirmasi bootable USB valid.
Pastikan untuk melakukan backup data penting sebelum melakukan langkah-langkah ini, karena semua data di USB akan terhapus.
Setelah selesai, kita dapat menggunakan USB tersebut untuk booting ke sistem operasi yang akan digunakan.
Mengembalikan USB ke Fungsi Penyimpanan Normal
Setelah selesai sebagai bootable device, ikuti langkah untuk menghapus partisi dan memformat USB sebagai media penyimpanan reguler.
Langkah 1: Hapus Partisi Existing
- Identifikasi kembali perangkat USB:
1
sudo fdisk -l
- Masuk mode interaktif
fdisk
:1
sudo fdisk /dev/sdx
- Urutan perintah di
fdisk
:1 2
d # Hapus partisi existing (ulangi jika ada multiple partition) w # Tulis perubahan ke disk
Langkah 2: Buat Partisi Baru
- Buka kembali
fdisk
:1
sudo fdisk /dev/sdx
- Urutan perintah:
1 2 3 4 5 6 7
n # Partisi baru p # Tipe primary [Enter] # Gunakan default sector [Enter] # Gunakan default akhir partisi t # Ubah tipe partisi b # Pilih FAT32 (atau 7 untuk NTFS) w # Tulis perubahan
Langkah 3: Format sebagai Media Penyimpanan
- FAT32 (kompatibel multi-sistem):
1
sudo mkfs.vfat -n "BACKUP_USB" /dev/sdx1
- NTFS (dukungan file >4GB):
1
sudo mkfs.ntfs -L "BACKUP_USB" /dev/sdx1
Penggunaan USB untuk Backup File
Metode 1: Backup via Terminal
- Mount USB ke direktori target:
1
sudo mkdir /mnt/backup && sudo mount /dev/sdx1 /mnt/backup
- Salin data (contoh backup direktori home):
1
sudo rsync -avh --progress ~/Documents /mnt/backup/
- Unmount aman:
1
sudo umount /dev/sdx1 && sudo eject /dev/sdx
Metode 2: Backup Otomatis dengan Script
Buat skrip usb_backup.sh
:
1
2
3
4
5
6
7
8
9
#!/bin/bash
BACKUP_DEV="/dev/sdx1"
MOUNT_DIR="/mnt/backup"
TARGET_DIR="$MOUNT_DIR/$(date +%Y%m%d)_backup"
sudo mount $BACKUP_DEV $MOUNT_DIR || exit 1
mkdir -p "$TARGET_DIR"
rsync -avh --delete ~/Documents "$TARGET_DIR"
sudo umount $BACKUP_DEV && sudo eject $BACKUP_DEV
Setel eksekusi:
1
chmod +x usb_backup.sh