آموزش بوت کردن فلش در لینوکس برای نصب سیستم عامل
از همه چیز مهمتر حفظ خونسردی و اعتماد کردن به لینوکسه :) . لینوکس هیچ جا شما رو لنگ نمیذاره و کاری رو که ازش بخواین مثل ی بچه ی حرف گوش کن انجام میده.
این آموزش من دو روش که متشکل از دو دستور cat و dd هست رو براتون توضیح میدم.
امروز تصمیم دارم تا به آموزش بوت کردن فلش از روی یک فایل iso بپردازم. این کار معمولا برای نصب سیستم عامل از روی فلش استفاده میشه. الیته پیشنیاز این آموزش کار کردن با دستورات df و fdisk و umount, mkfs و شاید هم mlabel و البته dd هست. من هم ابتدا ی آموزش مختصری درباره این دستورات میدم.
نکته : این پیشنیازها صرفا برای مدیریت بهتر است. این کار در اصل با همون فرمان cat به تنهایی هم انجام میشه. منتها برای اینکه بدونید چه اتفاقی داره میافته و جریان از چه قراره بهتر بود توضیحاتی خدمتتون بدم.
df
این دستور برای بدست آوردن فضای خالی و استفاده شده و نشون دادن پارتیشن ها در لینوکس استفاده میشه. قاعده استفاده از این دستور به صورت زیر است:
# df [options] [file]
شما میتونید از h- هم برای اینکه حجم پارتیشن ها رو بر حسب کیلو بایت و مگا بایت و ... ببنید استفاده کنید. به مثال زیر توجه کنید:
# df -h
Filesystem Size Used Avail Use% Mounted on
rootfs 462M 173M 266M 40% /
udev 10M 0 10M 0% /dev
tmpfs 394M 684K 393M 1% /run
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 787M 472K 786M 1% /run/shm
/dev/sda2 488M 128K 487M 1% /boot/efi
/dev/sda3 28G 11G 16G 41% /home
/dev/sda8 369M 111M 240M 32% /tmp
/dev/sda6 6.5G 3.7G 2.5G 60% /usr
/dev/sda7 2.8G 588M 2.1G 22% /var
/dev/sdc1 222M 222M 0 100% /media/Debian 7.4.0 amd64 1
fdisk
این دستور برای پارتیشن بندی هارد دیسک استفاده میشود. شما با استفاده از این دستور میتونید فلش خودتون رو هم حتی پارتیشن بندی کنید. یا پارتیشن های موجود در اون رو تغییر بدید. برای استفاده ای که ما داریم و اون هم بوت کردن فلش برای نصب سیستم عامل هست شما میتونید به صورت زیر عمل کنید:
حالا به خروجی دستور df و این خط توجه کنید:
/dev/sdc1 222M 222M 0 100% /media/Debian 7.4.0 amd64 1
حالا ما میخوایم ساختار این پارتیشن رو ببینیم. قبل از نحوه دیدن اون باید بگم یک امکانی در دستور fdisk هست که به شما اجازه میده تا امکانات بیشتر این دستور رو ببنید. کافیه در ترمینال با توجه به پارتیشن فلشی که به سیستم زدید عبارت زیر رو وارد کنید. مثلا مقدار sdc1 رو که به دستور fdisk دادید میتونید بعدا حرف m رو برای help وارد کنید:
# fdisk /dev/sdc1
WARNING: GPT (GUID Partition Table) detected on '/dev/sdc1'! The util fdisk doesn't support GPT. Use GNU Parted.
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/sdc1: 232 MB, 232783872 bytes
255 heads, 63 sectors/track, 28 cylinders, total 454656 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: 0x0ce8692d
Device Boot Start End Blocks Id System
/dev/sdc1p1 * 0 454655 227328 0 Empty
/dev/sdc1p2 151000 151895 448 1 FAT12
Command (m for help):
همونطور که ملاحظه میکنید این فلش به صورت پیشفرض دو تا پارتیشن داره. حالا ما باید این پارتیشن ها رو اول حذف کنید. برای این کار دو بار باید حرف d رو بزنید:
من یک بار حرف d رو تایپ کردم بعد از من پرسیده شد که کدوم پارتیشن رو میخوای حذف کنی؟ منم گفتم پارتیشن شماره یک. این کار رو با وارد کردن عدد 1 انجام دادم. دوباره برای حذف کردن پارتیشن بعدی حرف d رو زدم که چون به ناچار یک پارتیشن بیشتر نمونده بود بدون سوال کردن از من اون پارتیشن رو حذف کرد. مرحله بعدی من حرف p رو برای دیدن پارتیشن ها وارد کردم که خروجی به من نشون داد که پارتیشنی وجود نداره:
Command (m for help): d
Partition number (1-4): 1
Warning: partition 1 has empty type
Command (m for help): d
Selected partition 2
Command (m for help): p
Disk /dev/sdc1: 232 MB, 232783872 bytes
255 heads, 63 sectors/track, 28 cylinders, total 454656 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: 0x0ce8692d
Device Boot Start End Blocks Id System
Command (m for help):
فقط در نظر داشته باشید که بعد از پاک کردن پارتیشن ها باید حرف n رو وارد کنید. با این کار میتونید یک پارتیشن جدید بسازید. فقط بعدش اگر p رو بزنید یک پارتیشن primary میسازه و... شما بعد از فشردن کلید n باقی رو به صورت پیشفرض روی همه اینتر رو بزنید تا به طور پیش فرض پارتیشن رو بسازه. در انتها هم w رو بزنید تا تغییرات رو اعمال کنه:
Command (m for help): n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p):
Using default response p
Partition number (1-4, default 1):
Using default value 1
First sector (2048-15950591, default 2048):
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-15950591, default 15950591):
Using default value 15950591
Command (m for help): w
umount
این دستور رو برای این مورد استفاده قرار میدیم که قبل از فرمت کردن فلش حتما باید اون رو umount کنیم. برای این کار باید به صورت زیر عمل کنید:(بعد از این کار دیگه دستور df این پارتیشن رو نمیشناسه)
# umount /dev/sdc1
mkfs
این دستور برای ساختن فایل سیستمهای مختلفی مثل ext4 , ext3 , vfat و ... استفاده میشه. ما برای اینکه یک فلشی داشته باشیم که هم توی ویندوز هم توی لینکس راحت بشه ازش استفاده کرد بهتره که نوع فایل سیستمی رو که میخوایم ایجاد کنیم از نوع vfat انتخاب کنیم. چون انواع ext ها در ویندوز قابل شناسایی نیستند. حالا میریم که فلش رو به صورت زیر فرمت کنیم:
# mkfs.vfat /dev/sdc1
mkfs.vfat 3.0.13 (30 Jun 2012)
نکته: بعد از فرمت یک بار فلش رو در بیارید و دوباره جا بزنید.
mlabel
این دستور رو زیاد نیاز نبود بگم شما هم نمیخواد تستش کنید. فقط تا اینجا یادگرفتیم که چه طور فلشمون رو فرمت کنیم. حالا شاید بخوایم برای فلشمون هم ی اسم خوب انتخاب کنیم. برای این کار باید به صورت زیر عمل کنید:
نه همیشه ولی بسته به تنظیمات سیستم شما شاید نیاز باشه تا اول این دستور رو بزنید بعد دستور بعد رو:
echo "mtools_skip_check=1" >> ~/.mtoolsrc
و بعد:
mlabel -i /dev/sdc1 -s ::"My Flash"
شما میتونید به جای عبارت My Flash هر اسمی رو که مایل هستید رو انتخاب کنید.
خیلی خوب حالا به بحث خودمون برمیگردیم.
نحوه بوت کردن فلش و نصب سیستم عامل از طریق آن
روش اول با استفاده از دستور cat
حالا که دوباره فلش رو به سیستم زدید یک بار دیگه دستور df رو بزنید و ببینید که فلشتون روی چه دیوایسی قرار داره. اگر همون sdc1 بود یا sdc بود فرقی نمیکنه شما کاری رو که میگم فقط روی sdc در هر حالت انجام بدید:
# cat /file/to/YourOS.iso > /dev/sdc
شما باید با استفاده از دستور cat که قبلا توضیحاتشو خدمتتون دادم میتونید فایل iso رو داخل دیوایس مربوط به فلش cat کنید. بعد از اینکه کارش تموم شد سیستم رو ریستارت کنید و بوت سیستم رو روی فلش بذارید تا بتونید سیستم عامل رو با استفاده از flash نصب کنید.
اما روش دوم و استفاده از dd
ی راهی که خیلی ساده هم هست و فقط با یک دستور توی لینوکس انجام میشه به این صورت هست: برای این کار شما از دستور dd استفاده میکنید:
dd if=ISO_FILE_PATH of=USB_FLASH_DEVICE
فقط اینکه شما باید به جای عبارت ISO_FILE_PATH مسیر فایل iso و به جای USB_FLASH_DEVICE مسیر دیوایسی که فلش روی اون بالا اومده رو بدید... به همین سادگی همه کارهایی که بالا توضیح داده شد با یک خط قابل انجام هست. :)
وبلاگت عالیه