পার্টিশন এবং ফরম্যাট করা

অতিরিক্ত সতর্কতা অবলম্বন করুন। ডিভাইসের নাম আমার ও আপনার ভিন্ন হতেই পারে। এটি বিবেচনায় রাখবেন নতুবা বড়সড় ডাটা লস হতে পারে।

এই লেসনের জন্য আমি ১৬গিগাবাইটের একটি পেনড্রাইভ ব্যবহার করছি। আমরা এখন একটি ৪ জিবি ext4 এবং একটি ১২জিবি NTFS পার্টিশন তৈরী করবো। পেনড্রাইভটি ঢুকিয়ে প্রথমে mount কমান্ড দিয়ে দেখে নেবো ডিভাইসের নামটি:

$ mount
/dev/sda6 on / type ext4 (rw,errors=remount-ro)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
none on /sys/fs/cgroup type tmpfs (rw)
none on /sys/fs/fuse/connections type fusectl (rw)
none on /sys/kernel/debug type debugfs (rw)
none on /sys/kernel/security type securityfs (rw)
udev on /dev type devtmpfs (rw,mode=0755)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620)
tmpfs on /run type tmpfs (rw,noexec,nosuid,size=10%,mode=0755)
none on /run/lock type tmpfs (rw,noexec,nosuid,nodev,size=5242880)
none on /run/shm type tmpfs (rw,nosuid,nodev)
none on /run/user type tmpfs (rw,noexec,nosuid,nodev,size=104857600,mode=0755)
none on /sys/fs/pstore type pstore (rw)
/dev/sda2 on /home type ext4 (rw)
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,noexec,nosuid,nodev)
systemd on /sys/fs/cgroup/systemd type cgroup (rw,noexec,nosuid,nodev,none,name=systemd)
gvfsd-fuse on /run/user/1000/gvfs type fuse.gvfsd-fuse (rw,nosuid,nodev,user=nishadsingha)
/dev/sr1 on /media/me/Teletalk Modem type iso9660 (ro,nosuid,nodev,uid=1000,gid=1000,iocharset=utf8,mode=0400,dmode=0500,uhelper=udisks2)
/dev/sdc1 on /media/me/Roy type fuseblk (rw,nosuid,nodev,allow_other,default_permissions,blksize=4096)

সবচেয়ে নীচের লাইনে আমরা আমাদের পেনড্রাইভটির একমাত্র পার্টিশনটি দেখতে পাচ্ছি যার নাম sdc1। তারমানে আমাদের পুরো ডিভাইসটি sdc। এখন sdc এর পার্টিশন টেবিল নতুন করে করতে হলে আমাদের আগে মাউন্ট থাকা পার্টিশনগুলো আনমাউন্ট করতে হবে এভাবে:

# umount /dev/sdc1

পার্টিশন তৈরী করা

আমরা পার্টিশন করতে fdisk প্রোগ্রামটি ব্যবহার করবো। এজন্য আমাদের ডিভাইসের নামটি আর্গুমেন্ট হিসেবে দিতে হবে:

# fdisk /dev/sdc

ফলে এরকম একটা লাইন আসবে:

Command (m for help):

m চেপে এন্টার দিয়ে আমরা কমান্ডগুলি দেখতে পারি:

Command (m for help): m
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)

Command (m for help):

আমরা দেখতে পাচ্ছি p চাপলে বর্তমান পার্টিশন টেবিল প্রিন্ট করবে বা দেখাবে। এটা দেখে নিই:

Command (m for help): p

Disk /dev/sdc: 16.1 GB, 16125001728 bytes
255 heads, 63 sectors/track, 1960 cylinders, total 31494144 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x87a76b87

   Device Boot      Start         End      Blocks   Id  System
/dev/sdc1            2048    31494143    15746048    7  HPFS/NTFS/exFAT

Command (m for help):

প্রথম কয়েকলাইনে ডিভাইসসম্পর্কিত বিভিন্ন তথ্যের পর একটা লাইন ছেড়ে দিয়ে পার্টিশন টেবিল দেখাচ্ছে। পার্টিশন টেবিলে আমরা এখন একটাই পার্টিশন দেখছি sdc1।

এবার আমরা o চেপে একটা পার্টিশন টেবিল তৈরী করবো:

Command (m for help): o
Building a new DOS disklabel with disk identifier 0xe981134c.
Changes will remain in memory only, until you decide to write them.
After that, of course, the previous content won't be recoverable.

Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)

Command (m for help):

এবার p দিলে আমরা ফাঁকা পার্টিশন টেবিল পাবো এরকম:

Command (m for help): p

Disk /dev/sdc: 16.1 GB, 16125001728 bytes
255 heads, 63 sectors/track, 1960 cylinders, total 31494144 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xe981134c

   Device Boot      Start         End      Blocks   Id  System

Command (m for help):

এবার আমরা ৪জিবির ext4 পার্টিশন তৈরী করবো। তারজন্য n কমান্ড দিতে হবে:

Command (m for help): n 
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p
Partition number (1-4, default 1): 1
First sector (2048-31494143, default 2048): 
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-31494143, default 31494143): +4G

প্রথমে n দেওয়ার পর জানতে চেয়েছে আমরা প্রাইমারি না এক্সটেন্ডেড পার্টিশন করতে চাই। আমরা p দিয়ে প্রাইমারি সিলেক্ট করেছি। তারপর পার্টিশন নাম্বার জানতে চেয়েছে এক থেকে চারের মধ্যে কেননা ৪টির বেশি প্রাইমারি পার্টিশন করা যায় না। আমরা এন্টার চাপলে ডিফল্টভাবে 1 নিত তবুও আমরা 1 দিয়েছি। তারপর পার্টিশনের শুরুটা জানতে চেয়েছে। আমরা এন্টার চেপে ডিফল্টটা সিলেক্ট করেছি। তারপর আমাদের কাছে লাস্ট সেক্টর জিজ্ঞাসা করা হয়েছে। আমরা সেক্টর শুধু সংখ্যায় প্রকাশ করতে পারতাম। বা সংখ্যার সাথে K, M বা G দিয়ে যথাক্রমে কিলোবাইট, মেগাবাইট ও গিগাবাইট বলতে পারি। আমরা +4G দিয়ে বলেছি শুরু থেকে ৪ জিবি পর্যন্ত এই পার্টিশনের সীমানা। একইভাবে আমরা বাকি অংশ থেকে দ্বিতীয় পার্টিশন বানাবো:

Command (m for help): n
Partition type:
   p   primary (1 primary, 0 extended, 3 free)
   e   extended
Select (default p): p
Partition number (1-4, default 2): 2
First sector (8390656-31494143, default 8390656): 
Using default value 8390656
Last sector, +sectors or +size{K,M,G} (8390656-31494143, default 31494143): 
Using default value 31494143
Command (m for help):

এবার আমরা পার্টিশনের শুরু ও শেষ উভয়ক্ষেত্রে ডিফল্ট মান ব্যবহার করেছি যার ফলে বাকি পুরো ফাঁকা জায়গা ব্যবহার করে পার্টিশন তৈরী করেছে।

এবার আমরা পার্টিশন টেবিলটি দেখি:

Command (m for help): p

Disk /dev/sdc: 16.1 GB, 16125001728 bytes
255 heads, 63 sectors/track, 1960 cylinders, total 31494144 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xe981134c

   Device Boot      Start         End      Blocks   Id  System
/dev/sdc1            2048     8390655     4194304   83  Linux
/dev/sdc2         8390656    31494143    11551744   83  Linux

Command (m for help):

আমরা দেখতে পাচ্ছি দুটোরই System 'Linux'। কিন্তু দ্বিতীয়টি আমরা NTFS করতে চাই তাই তার id পরিবর্তন করতে হবে। এরজন্য আমরা l কমান্ড দিয়ে জানা পার্টিশন টাইপের লিস্টটি দেখবো:

Command (m for help): l

 0  Empty           24  NEC DOS         81  Minix / old Lin bf  Solaris        
 1  FAT12           27  Hidden NTFS Win 82  Linux swap / So c1  DRDOS/sec (FAT-
 2  XENIX root      39  Plan 9          83  Linux           c4  DRDOS/sec (FAT-
 3  XENIX usr       3c  PartitionMagic  84  OS/2 hidden C:  c6  DRDOS/sec (FAT-
 4  FAT16 <32M      40  Venix 80286     85  Linux extended  c7  Syrinx         
 5  Extended        41  PPC PReP Boot   86  NTFS volume set da  Non-FS data    
 6  FAT16           42  SFS             87  NTFS volume set db  CP/M / CTOS / .
 7  HPFS/NTFS/exFAT 4d  QNX4.x          88  Linux plaintext de  Dell Utility   
 8  AIX             4e  QNX4.x 2nd part 8e  Linux LVM       df  BootIt         
 9  AIX bootable    4f  QNX4.x 3rd part 93  Amoeba          e1  DOS access     
 a  OS/2 Boot Manag 50  OnTrack DM      94  Amoeba BBT      e3  DOS R/O        
 b  W95 FAT32       51  OnTrack DM6 Aux 9f  BSD/OS          e4  SpeedStor      
 c  W95 FAT32 (LBA) 52  CP/M            a0  IBM Thinkpad hi eb  BeOS fs        
 e  W95 FAT16 (LBA) 53  OnTrack DM6 Aux a5  FreeBSD         ee  GPT            
 f  W95 Ext'd (LBA) 54  OnTrackDM6      a6  OpenBSD         ef  EFI (FAT-12/16/
10  OPUS            55  EZ-Drive        a7  NeXTSTEP        f0  Linux/PA-RISC b
11  Hidden FAT12    56  Golden Bow      a8  Darwin UFS      f1  SpeedStor      
12  Compaq diagnost 5c  Priam Edisk     a9  NetBSD          f4  SpeedStor      
14  Hidden FAT16 <3 61  SpeedStor       ab  Darwin boot     f2  DOS secondary  
16  Hidden FAT16    63  GNU HURD or Sys af  HFS / HFS+      fb  VMware VMFS    
17  Hidden HPFS/NTF 64  Novell Netware  b7  BSDI fs         fc  VMware VMKCORE 
18  AST SmartSleep  65  Novell Netware  b8  BSDI swap       fd  Linux raid auto
1b  Hidden W95 FAT3 70  DiskSecure Mult bb  Boot Wizard hid fe  LANstep        
1c  Hidden W95 FAT3 75  PC/IX           be  Solaris boot    ff  BBT            
1e  Hidden W95 FAT1 80  Old Minix      

Command (m for help):

লিস্টের 7 নম্বরটি অর্থাৎ HPFS/NTFS/exFAT এ আমাদের পরিবর্তন করতে হবে। এজন্য আমরা t চাপবো:

Command (m for help): t   
Partition number (1-4): 2
Hex code (type L to list codes): 7
Changed system type of partition 2 to 7 (HPFS/NTFS/exFAT)

Command (m for help):

t দেওয়ার পর আমাদের পার্টিশনের নাম্বার জিজ্ঞাসা করেছে। আমরা দ্বিতীয়টি পরিবর্তন করবো তাই 2 দিয়েছি। এবার আমাদের কাছে পার্টিশনের ধরণের কোড জানতে চাইছে। আমরা পরিকল্পনামাফিক 7 দিয়েছি। এবার পার্টিশন টেবিল দেখি:

Command (m for help): p

Disk /dev/sdc: 16.1 GB, 16125001728 bytes
255 heads, 63 sectors/track, 1960 cylinders, total 31494144 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xe981134c

   Device Boot      Start         End      Blocks   Id  System
/dev/sdc1            2048     8390655     4194304   83  Linux
/dev/sdc2         8390656    31494143    11551744    7  HPFS/NTFS/exFAT

Command (m for help):

সব ঠিক আছে। এবার পরিবর্তন সংরক্ষণের জন্য w চেপে সেভ করি:

Command (m for help): w 
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.

ফাইলসিস্টেম তৈরী করা

এবার আমরা তৈরী করা পার্টিশনদুটি অর্থাৎ sdc1 ও sdc2 তে যথাক্রমে ext4 ও NTFS ফাইলসিস্টেম বানাবো(ফরম্যাট বলা যায় সহজভাষায়।) এজন্য আমরা mkfs কমান্ডটি ব্যবহার করবো। এর কাঠামোটি এরকম:

# mkfs -t partition_type Device

তাহলে, আমরা sdc1 এ ext4 করবো এভাবে:

# mkfs -t ext4 /dev/sdc1
mke2fs 1.42.9 (4-Feb-2014)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
262144 inodes, 1048576 blocks
52428 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=1073741824
32 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks: 
        32768, 98304, 163840, 229376, 294912, 819200, 884736

Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done

একইভাবে আমরা sdc2কে NTFS করবো এভাবে:

# mkfs -t ntfs /dev/sdc2

এবার আমরা পেনড্রাইভটি কম্পিউটার থেকে খুলে আবার লাগালে আমাদের বর্তমান পার্টিশনগুলো দেখতে পাবো।

Last updated