Terminalden bir depolama sürücüsünü nasıl biçimlendireceğimi bilmek istiyorum. Yanıtta sağlanacak yararlı şeyler, komutlar için sık kullanılan seçenekler ve gelecekteki kullanımları tahmin etmek için kullanılabilecek temel bilgiler olacaktır. Özellikle NTFS, FAT32, EXT4, vb. gibi farklı dosya sistemlerinde nasıl biçimlendirileceğini bilmek istiyorum. Sürücünün terminal aracılığıyla nasıl bölümlendirileceği hakkında bilgi de isteniyor.
Yüksek kapasiteli bir harici sabit diski (EHDD) terminalden NTFS olarak biçimlendirmeye çalışıyorum.
Bunun için gparted'ı ve diğer GUI programlarını kullanabileceğimi biliyorum, ancak yine de terminalden nasıl yapacağımı bilmek istiyorum.
Birkaç seçenek mevcuttur:
parted
(GParted'ın CLI kardeşi).mkfs
programları, eğer zaten bölümleriniz varsa ve biçimlendirmek istiyorsanız.
fdiskve
partedetkileşimlidir ve yardım komutları vardır, böylece program içinde her zaman yardım arayabilirsiniz. Her ikisi de betiklenebilir. mkfs
komutları etkileşimli değildir.fdisk
fdiskargüman olarak bir aygıt (örneğin
/dev/sda`) bekler. Aşağıdaki komutlara sahiptir:
Command action
a toggle a bootable flag
b edit bsd disklabel
c toggle the DOS compatibility flag
d delete a partition
l list known partition types
m print this menu
n add a new partition
o create a new empty DOS partition table
p print the partition table
q quit without saving changes
s create a new empty Sun disklabel
t change a partition's system id
u change display/entry units
v verify the partition table
w write table to disk and exit
x extra functionality (experts only)
fdisk
i çok fazla kullanmıyorum. Ben sadece odaklanacağım:parted
'parted' bir argümana *ihtiyaç duymaz ("tahmin" etmeye çalışır), ancak her zaman diski belirtmelisiniz. Seçenek verildiğinde, parted
tercih etmeniz gereken programdır. Aşağıdaki komutlara sahiptir:
align-check TYPE N check partition N for TYPE(min|opt) alignment
check NUMBER do a simple check on the file system
cp [FROM-DEVICE] FROM-NUMBER TO-NUMBER copy file system to another partition
help [COMMAND] print general help, or help on COMMAND
mklabel,mktable LABEL-TYPE create a new disklabel (partition table)
mkfs NUMBER FS-TYPE make a FS-TYPE file system on partition NUMBER
mkpart PART-TYPE [FS-TYPE] START END make a partition
mkpartfs PART-TYPE FS-TYPE START END make a partition with a file system
resizepart NUMBER END resize partition NUMBER
move NUMBER START END move partition NUMBER
name NUMBER NAME name partition NUMBER as NAME
print [devices|free|list,all|NUMBER] display the partition table, available devices, free space, all found partitions, or a particular partition
quit exit program
rescue START END rescue a lost partition near START and END
resize NUMBER START END resize partition NUMBER and its file system
rm NUMBER delete partition NUMBER
select DEVICE choose the device to edit
set NUMBER FLAG STATE change the FLAG on partition NUMBER
toggle [NUMBER [FLAG]] toggle the state of FLAG on partition NUMBER
unit UNIT set the default unit to UNIT
version display the version number and copyright information of GNU Parted
Komutlar benzersiz bir önekle daraltılabilir (örneğin, h
help
için kısadır).
Size komutları göstermek için oluşturduğum geçici bir dosyayı (/tmp/part
) kullanacağım, bu nedenle boyutlar biraz küçük olacak. Bunu ihtiyacınız olan aygıt ile değiştirmelisiniz (örneğin /dev/sda
).
İlk olarak, eğer diskinizde bir bölümleme tablosu yoksa, bir tane oluşturmalıyız:
parted /tmp/part mklabel gpt
veya mklabel msdos
, eğer eski usul 4 birincil bölümlü bir şey istiyorsanız (MBR veya MSDOS bölümleme tablosu olarak adlandırılır).
Daha sonra, diyelim ki, 3GB'dan başlayan (yani, ilk 3G'yi boş bırakarak) ve 2GB boyutunda (yani, 5GB'da biten) bir ext4 bölümü oluşturuyoruz. parted,
mkpartfs` için MB cinsinden konumlar bekler, ancak son eki belirtebiliriz:
parted /tmp/part mkpart primary ext4 3G 5G
Ve bir diğeri, şimdi 1GB'lık bir NTFS bölümü:
parted /tmp/part mkpart primary ntfs 5G 6G
Sonuç:
# parted /tmp/part print
Model: (file)
Disk /tmp/blah: 10.4GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number Start End Size File system Name Flags
1 3000MB 5000MB 2000MB primary
2 5000MB 6000MB 1000MB primary msftdata
GParted kararlı bir şekilde binary prefixes kullanırken (aptal i
yi bırakırken) SI öneklerini nasıl kullandığına dikkat edin.
Bölümleri etiketleyeceğim:
# parted /tmp/part name 1 hello
# parted /tmp/part name 2 world
# parted /tmp/part print
Model: (file)
Disk /tmp/blah: 10.4GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number Start End Size File system Name Flags
1 3000MB 5000MB 2000MB hello
2 5000MB 6000MB 1000MB world msftdata
Parted,
ntfs` dosya sisteminin bölümlerini gayet iyi oluşturabilirken, mevcut bir bölümü (!) NTFS olarak biçimlendiremez:
mkfs partition fs-type
Make a filesystem fs-type on partition. fs-type can be one
of "fat16", "fat32", "ext2", "linux-swap", or "reiserfs".
mkfs
mkfs,
fsckgibi, esasen çeşitli dosya sistemine özgü komutların bir ön ucudur. Örneğin benim sistemimde
mkfs.bfs,
mkfs.cramfs,
mkfs.ext2,
mkfs.ext3,
mkfs.ext4,
mkfs.ext4dev,
mkfs.fat,
mkfs.minix,
mkfs.msdos,
mkfs.ntfs,
mkfs.vfatkullanılabilir. Şimdi, ne yazık ki,
partedyukarıda kullandığım gibi bir dosya üzerinde gayet iyi çalışırken,
mkfsbu tür dosyalardaki bölümleri avlayamaz. Aslında, blok aygıtları bekler, bu yüzden
mkfsiçin yeni bir
/tmp/filedosyası kullanacaksam, onu bunu yapmaya zorlamam gerekir. Biçimlendirmek istediğiniz bölüme karşılık gelen blok aygıtını kullanacaksınız, örneğin
/dev/sda2gibi. mkfs
için genel sözdizimi şöyledir:
# mkfs --help
Usage: mkfs [options] [-t type fs-options] device [size]
Options:
-t, --type=TYPE file system type, when undefined ext2 is used
fs-options parameters to real file system builder
device path to a device
size number of blocks on the device
-V, --verbose explain what is done
defining -V more than once will cause a dry-run
-V, --version output version information and exit
-V as version must be only option
-h, --help display this help and exit
For more information, see mkfs(8).
Gördüğünüz gibi, -t
bayrağı dosya sistemine özgü bayrakları geçirmemize izin verir. Örneğin, NTFS bayrakları:
# mkfs.ntfs --help
Usage: mkntfs [options] device [number-of-sectors]
Basic options:
-f, --fast Perform a quick format
-Q, --quick Perform a quick format
-L, --label STRING Set the volume label
-C, --enable-compression Enable compression on the volume
-I, --no-indexing Disable indexing on the volume
-n, --no-action Do not write to disk
Advanced options:
-c, --cluster-size BYTES Specify the cluster size for the volume
-s, --sector-size BYTES Specify the sector size for the device
-p, --partition-start SECTOR Specify the partition start sector
-H, --heads NUM Specify the number of heads
-S, --sectors-per-track NUM Specify the number of sectors per track
-z, --mft-zone-multiplier NUM Set the MFT zone multiplier
-T, --zero-time Fake the time to be 00:00 UTC, Jan 1, 1970
-F, --force Force execution despite errors
Output options:
-q, --quiet Quiet execution
-v, --verbose Verbose execution
--debug Very verbose execution
Help options:
-V, --version Display version
-l, --license Display licensing information
-h, --help Display this help
Developers' email address: [email protected]
News, support and information: http://tuxera.com
Öyleyse, hızlı biçimlendirme (-Q
), blok aygıtı olmayan bir dosya üzerinde çalışmaya zorlama (-F
) ve bir etiket belirleme (-L "hello world"
) ile bir NTFS bölümü oluşturalım.
# mkfs -t ntfs -F -Q -L "hello world" /tmp/file
/tmp/file is not a block device.
mkntfs forced anyway.
The sector size was not specified for /tmp/file and it could not be obtained automatically. It has been set to 512 bytes.
The partition start sector was not specified for /tmp/file and it could not be obtained automatically. It has been set to 0.
The number of sectors per track was not specified for /tmp/file and it could not be obtained automatically. It has been set to 0.
The number of heads was not specified for /tmp/file and it could not be obtained automatically. It has been set to 0.
Cluster size has been automatically set to 4096 bytes.
To boot from a device, Windows needs the 'partition start sector', the 'sectors per track' and the 'number of heads' to be set.
Windows will not be able to boot from this device.
Creating NTFS volume structures.
mkntfs completed successfully. Have a nice day.
Belli ki bir dosya üzerinde çalışmaktan hoşlanmamış. :) Endişelenmeyin, gerçek bir disk üzerinde çalışırken çoğu değeri otomatik olarak algılayacaktır. Bu "dosya" bile bir dosya sistemi olarak iyi çalışıyor:
# mount -t ntfs-3g /tmp/file /mnt
# touch "/mnt/a file in mnt"
# ls -l /mnt
total 0
-rwxrwxrwx 1 root root 0 Aug 29 06:43 a file in mnt
# umount /mnt
# ls -l /mnt
total 0
sudo
kullanmadım. Dosyalar ve bana ait dosyalar üzerinde çalıştığım için sudo
ya ihtiyacım yoktu. partedsizi bu konuda uyaracaktır. Genellikle her zaman
roottarafından sahip olunan blok aygıtlar için
sudoya ihtiyacınız olacaktır (ya da
sudo -iveya
sudo su -` aracılığıyla bir root kabuğu kullanmanız gerekecektir).bir GNU programıdır ve birçok GNU programı gibi
infoformatında kapsamlı belgelere sahiptir. parted-doc
u kurun (sudo apt-get install parted-doc
) ve ardından info parted
i çalıştırın. Ayrıca çevrimiçi kullanım kılavuzu'na da göz atabilirsiniz.mkfs
programını doğrudan çağırdığı için bir bölümü NTFS olarak biçimlendirebilir (bu durumda mkntfs
- mkfs.ntfs
sadece mkntfs
için bir bağlantıdır). Ayrıca bir dizi parametre ayarlar. Aslında, çoğu işlem için, hangi komutların çalıştırıldığını görmek için GParted mesajlarının ayrıntılarını inceleyebilirsiniz.parted
ya da fdisk
yerine bunları kullanmalısınız (belki de kullanımları için bölümler oluşturmanın ilk adımı hariç).parted
kullanımı hakkında not:Parted` programının sözdizimi şöyledir:
parted [options] [device [command [options...]...]]
Bir komut olmadan parted
komutunu çalıştırdığınızda, örneğin:
parted /tmp/parted
Size yukarıdaki komutları çalıştırabileceğiniz basit bir kabuk sunulacaktır. Ancak, bu komutlar doğrudan parted
programı kullanılarak da çalıştırılabilir. Yani bu üçü eşdeğerdir:
# parted /tmp/parted
GNU Parted 2.3
Using /tmp/parted
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) mklabel gpt
Ve
# parted
GNU Parted 2.3
Using /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) select /tmp/parted
Using /tmp/parted
(parted) mklabel gpt
Ve
parted /tmp/parted mklabel gpt
Ayrıca, parted
ile bölümler oluştururken, bölümlerin sonunun yararlı bir göstergesinin -1s
olduğunu unutmayın (bu, tire ile "s" arasındaki "1"'dir). Bu, bölümünüzün belirli bir başlangıçtan diskin geri kalanına yayılmasını istiyorsanız kullanışlıdır. Daha spesifik olmak gerekirse
parted /dev/sda -- mkpart primary ext4 3G -1s
3G'den başlayan ve /dev/sda
diskinin son sektöründe biten bir /dev/sda
bölümü oluşturacaktır (yani 3G'den diskin geri kalanının tamamına kadar uzanır). 1sseçeneğinin geçersiz bir seçenek olarak yorumlanmaması için
--` seçeneğinin gerekli olduğuna dikkat edin.
Öncelikle sabit diskinizi fdisk yardımcı programı ile nasıl bölümlendireceğinizi öğrenin.
Linux sadece 4 birincil bölüme izin verir. Birincil bölümlerden birini alt bölümlere ayırarak çok daha fazla sayıda mantıksal bölüme sahip olabilirsiniz.
Birincil bölümlerden yalnızca biri alt bölümlere ayrılabilir.
fdisk, komut istemine root olarak fdisk device yazılarak başlatılır.
Aygıt /dev/sda veya /dev/sdb gibi bir şey olabilir
İhtiyacınız olan temel fdisk komutları şunlardır:
p print the partition table
n create a new partition
d delete a partition
q quit without saving changes
w write the new partition table and exit
Bölüm tablosunda yaptığınız değişiklikler, siz write (w) komutunu verene kadar etkili olmaz.
İşte örnek bir bölümleme tablosu:
Disk /dev/sdb: 64 heads, 63 sectors, 621 cylinders
Units = cylinders of 4032 * 512 bytes
Device Boot Start End Blocks Id System
/dev/sdb1 * 1 184 370912+ 83 Linux
/dev/sdb2 185 368 370944 83 Linux
/dev/sdb3 369 552 370944 83 Linux
/dev/sdb4 553 621 139104 82 Linux swap
Örnek:
Kabuk isteminden fdisk'i başlatın:
sudo su
fdisk /dev/sdb
Bu da SATA denetleyicinizdeki ikinci sürücüyü kullandığınızı gösterir.
Command (m for help): p
Disk /dev/hdb: 64 heads, 63 sectors, 621 cylinders
Units = cylinders of 4032 * 512 bytes
That makes for 384Mb per partition.
Now You get to work.
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-621, default 1):<RETURN>
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-621, default 621): +384M
Next, You set up the partition You want to use for swap:
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 2
First cylinder (197-621, default 197):<RETURN>
Using default value 197
Last cylinder or +size or +sizeM or +sizeK (197-621, default 621): +128M
Şimdi bölümleme tablosu aşağıdaki gibi görünür:
Device Boot Start End Blocks Id System
/dev/sdb1 1 196 395104 83 Linux
/dev/sdb2 197 262 133056 83 Linux
Son olarak, ilk bölümü önyüklenebilir hale getirirsiniz:
Command (m for help): a
Partition number (1-4): 1
And You make the second partition of type swap:
Command (m for help): t
Partition number (1-4): 2
Hex code (type L to list codes): 82
Changed system type of partition 2 to 82 (Linux swap)
Command (m for help): p
Sonuç:
Disk /dev/sdb: 64 heads, 63 sectors, 621 cylinders
Units = cylinders of 4032 * 512 bytes
Device Boot Start End Blocks Id System
/dev/sdb1 * 1 196 395104+ 83 Linux
/dev/sdb2 197 262 133056 82 Linux swap
Son olarak, tabloyu diske yazmak için yazma komutunu (w) verirsiniz.
mkfs yardımcı programı Linux sisteminizde dosya sistemi (ext2, ext3, ext4, vb.) oluşturmak için kullanılır.
Dosya sisteminin oluşturulacağı aygıt adını mkfs'ye belirtmelisiniz.
Kullanılabilir Dosya Sistemi Oluşturucu Komutlarını Görüntüleyin
Dosya sistemi kurucuları (mkfs* komutları) genellikle /sbin/, /sbin/fs, /sbin/fs.d, /etc/fs ve /etc gibi dizinlerde aranır.
Bulunamazsa, son olarak PATH değişkeninde bulunan dizinleri arar.
Aşağıdaki liste bir sistemdeki mevcut mkfs* komutlarını göstermektedir.
sudo su
cd /sbin
ls mkfs*
mkfs mkfs.bfs mkfs.cramfs mkfs.ext2 mkfs.ext3 mkfs.ext4 mkfs.ext4dev
mkfs.minix mkfs.msdos mkfs.ntfs mkfs.vfat
Belirli Bir Aygıtta Dosya Sistemi Oluşturma
mkfs komutunu kullanarak dosya sistemi oluşturmak için gerekli argümanlar aşağıda gösterildiği gibi device-filename ve filesystem-type'dır.
Aşağıdaki örnek /dev/sdb1 bölümü üzerinde ext4 dosya sistemi oluşturur.
sudo su
mkfs -t ext4 /dev/sdb1
mke2fs 1.42 (29-Nov-2011)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
1120112 inodes, 4476416 blocks
223820 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=0
137 block groups
32768 blocks per group, 32768 fragments per group
8176 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000
Allocating group tables: done
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
Lütfen mkfs komutu için varsayılan dosya sistemi türünün ext2 olduğunu unutmayın.
Eğer "-t" seçeneğini belirtmezseniz, ext2 dosya sistemi oluşturacaktır.
Ayrıca, ext2 veya ext3 veya ext4 dosya sistemine sahip olup olmadığınızı belirlemek için daha önce tartıştığımız yöntemi kullanabilirsiniz.
NTFS Sürücüsünü Biçimlendirme
İlk olarak, NTFS dosya sistemleri oluşturma yeteneğine ihtiyacınız olacak, bu yüzden ntfsprogs'u yükleyin:
sudo su
apt-get install ntfs-3g
İkinci olarak, bölümü yok edin ve NTFS olarak yeniden oluşturun.
sudo su
umount /dev/sdb1
fdisk /dev/sdb
Options to select:
‘d’ to delete the partition
‘n’ to create a new partition
‘p’ for primary
‘1’ for partition number
‘Enter’ for first cylinder (default 1)
‘Enter’ for last cylinder (default of max size)
‘t’ for type
‘L’ to list codes, and enter code for HPFS/NTFS. In my case, it’s ‘7’
‘w’ to write changes to disk, and exit
umount /dev/sdb1
Son adımda, Ubuntu bölümü sizin için tekrar otomatik olarak bağladığından, bölümün bağlantısını kaldırırsınız.
Şimdi, dosya sistemini oluşturmanız gerekiyor. Bunu yapmanın iki yolu vardır: sabırsız yol (Hızlı Biçimlendirme) veya daha iyi ama çok daha uzun yol (Tam Biçimlendirme).
Hızlı Format
Bu sadece disk alanını tahsis eder, ancak sürücüyü sıfırlamaz veya bozuk sektörleri kontrol etmez. Bu da birkaç saniye süreceği anlamına gelir.
sudo su
mkfs.ntfs -f /dev/sdb1
Tam Format
Veri bütünlüğü konusunda çok daha fazla endişeniz varsa ve beklemekten çekinmiyorsanız, tam format atın.
Bu işlem büyük bir sürücüyü sıfırlamak için birkaç saat sürebilir!
sudo su
mkfs.ntfs /dev/sdb1