Apakah ada cara untuk membuat dan memformat partisi menggunakan skrip bash?
Saya pikir itu bisa dilakukan dengan fdisk tapi saya tidak tahu bagaimana memberi makan perintah dari skrip bash ke shell fdisk kemudian keluar dari shell fdisk.
Saya ingin membuat partisi kemudian memformatnya ke ntfs dari dalam bash.
bash
partitioning
ntfs
fdisk
GlassGhost
sumber
sumber
sfdisk
lebih ramah otomatisasi daripadafdisk
sfdisk
sfdisk
adalah versi Script darifdisk
Itu adalah bagian dari
util-linux
, sama sepertifdisk
, jadi ketersediaannya harus sama.Tabel partisi dengan satu partisi yang mengambil seluruh disk dapat dibuat dengan:
dan tabel partisi yang lebih kompleks dijelaskan di bawah ini.
Untuk membuat skrip contoh, dapatkan penyetelan salah satu disk Anda:
Contoh hasil pada dual boot Lenovo T430 Windows 7 / Ubuntu saya:
Setelah skrip disimpan ke file, Anda dapat menerapkannya
sdX
dengan:Untuk
sfdisk
input, Anda bisa menghilangkan nama perangkat, dan menggunakan garis tipe:Mereka hanya diabaikan jika ada, dan nama perangkat diambil dari argumen baris perintah.
Beberapa penjelasan:
label
: jenis tabel partisi.dos
(MBR) adalah yang lama didukung secara luas,gpt
hal baru yang mengilap.unit
: hanyasector
didukung. 1 sektor biasanya sama dengan 512 byte. Temukan dengancat /sys/block/sda/queue/hw_sector_size
Lihat juga: https://unix.stackexchange.com/questions/2668/finding-the-sector-size-of-a-partitiondevice
: hanya informatif saya pikirgaris partisi:
start
: offset di dalam disk tempat partisi dimulai.start
memiliki standar yang sangat baik, dan sering dapat dinonaktifkan:start
adalah 2048, yaitu 1Mb (2048 + 512), yang merupakan standar waras untuk kompatibilitas diskstart
default ke posisi tidak terisi pertamasize
:man sfdisk
Mengatakan:The default value of size indicates "as much as possible"
. Jadi untuk mengisi disk dengan menggunakan satu partisi:/dev/sda : start=2048, type=83
type
: byte ajaib disimpan di sektor boot untuk setiap entri partisi . Nilai yang mungkin: https://en.wikipedia.org/wiki/Partition_type Pada contoh ini kita amati:7
(sda1
,2
dan3
): sistem file yang didukung Windows. Barang-barang Windows yang sudah diinstal sebelumnya dan partisi pemulihan Lenovo.sudo blkid
label membantu mengidentifikasi mereka.5
(sda4
): extended primary partisi, yang akan berisi partisi logical lainnya (karena kita hanya dapat memiliki 4 partisi primary dengan MBR)83
(sda5
,,7
dan8
): partisi yang didukung Linux. Bagi saya satuhome
, dan dua root dengan versi Ubuntu yang berbeda82
(sd6
): swapfdisk
juga dapat membacasfdisk
skrip denganI
perintah, yang "sumber" mereka selamafdisk
sesi interaktif , memungkinkan Anda penyesuaian lebih lanjut sebelum menulis partisi.Diuji pada Ubuntu 16.04,
sfdisk
2.27.1.Format dan isi partisi tanpa file gambar
sudo
Ini adalah cara yang baik untuk belajar menggunakan
sfdisk
tanpa meledakkan hard disk Anda: https://stackoverflow.com/questions/10949169/how-to-create-a-multi-partition-sd-disk-image-without-root- hak istimewa / 52850819 # 52850819sumber
fdisk
membaca dari stdin sehingga Anda hanya perlu memberinya perintah yang sesuai. Misalnya, berikut ini membersihkan tabel partisi, jika ada, dan membuat yang baru yang memiliki partisi tunggal yaitu; seluruh disk:Saya sarankan Anda melakukan tugas yang Anda inginkan, merekam apa yang Anda ketik sehingga Anda dapat mereproduksinya.
sumber
printf
bukanecho
hanya menjadi kebiasaan menggunakan sesuatu yang berperilaku konsisten di seluruh sistem.Anda dapat melakukannya hanya dengan beberapa perintah, gunakan intro \ n alih-alih beberapa gema.
sumber
\n
diperlukan lagi setelahw
?echo
secara otomatis mengakhiri garis dengan baris baru (kecuali jika-n
opsi digunakan)Anda bisa skrip
fdisk
.Itu menciptakan partisi 200 MB pada
/dev/sdc
sumber
Perintah piping ke fdisk berfungsi dengan baik seperti yang dijelaskan oleh orang lain, tetapi cara ini sedikit lebih elegan dan mudah dibaca:
Pemipaan dari file (sementara) juga berfungsi:
sumber
Buat disklabel tipe baru gpt:
sudo /sbin/parted /dev/xvdf mklabel gpt --script
Partisi disk:
sudo /sbin/parted /dev/xvdf mkpart primary 0% 100% --script
sumber
sumber
Script menggunakan fdisk untuk membuat partitons berdasarkan jawaban orang lain.
Ubah yang berikut dalam skrip:
NUM_PARTITIONS = 5
PARTITION_SIZE = "+ 10G"
Contoh penggunaan diberikan setelah skrip.
jalankan dengan:
sudo sh mk_partition.sh / dev / sdxxx
sumber
Anda dapat menggunakan skrip ini. Pastikan Anda mendefinisikan partisi Anda sendiri di mana
hdd
didefinisikan. Ada 2 ruang kosong antara1
danw
; mereka harus ada di sana untuk mengambil nilai default.sumber