অতিরিক্ত সতর্কতা অবলম্বন করুন। ডিভাইসের নাম আমার ও আপনার ভিন্ন হতেই পারে। এটি বিবেচনায় রাখবেন নতুবা বড়সড় ডাটা লস হতে পারে।
এই লেসনের জন্য আমি ১৬গিগাবাইটের একটি পেনড্রাইভ ব্যবহার করছি। আমরা এখন একটি ৪ জিবি 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
এবার আমরা পেনড্রাইভটি কম্পিউটার থেকে খুলে আবার লাগালে আমাদের বর্তমান পার্টিশনগুলো দেখতে পাবো।