چگونه درایوهای ویندوز را در لینوکس ببینیم؟

تعداد زیادی از کسانی که اقدام به نصب لینوکس می کنند، این سیستم عامل را به عنوان سیستم عامل ثانویه در کنار Micrsoft Windows استفاده می کنند، از این رو اشتراک فایل های ایجاد شده در ویندوز با لینوکس جزو اولین نیاز های این افراد می باشد، این نیاز مخصوصا در مورد فایل های MP3 بسیار بیشتر است ;)

خوشبختانه لینوکس به صورت build-in پارتیشن هایی که به صورت Fat16, Fat32 فرمت شده اند را می شناسد و قابلیت خواندن و کار با آن ها را دارد(درباره NTFS در ادامه توضیحاتی خواهد آمد). برای دسترسی به آن ها باید پارتیشن های ویندوز را در لینوکس Mount کنید، روند کار به صورت زیر است :

۱) یک دایرکتوری در لینوکس در شاخه /mnt/ بسازید. مثلا mkdir /mnt/win (این کار را فقط یک بار انجام دهید)
۲) با فرمان fdisk -l لیست پارتیشن های هارد دیسک و نام آنها در لینوکس را مشاهده خواهید کرد.(این فرمان را اجرا کنید- خروجی چیزی شبیه این خواهد بود)


Disk /dev/hda: 60.0 GB, 60011642880 bytes
255 heads, 63 sectors/track, 7296 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/hda1 * 1 1275 10241406 7 HPFS/NTFS
/dev/hda2 1276 7296 48363682+ f W95 Ext’d (LBA)
/dev/hda5 1276 3825 20482843+ b W95 FAT32
/dev/hda6 3826 6375 20482843+ b W95 FAT32
/dev/hda7 6376 7296 7397901 83 Linux

مشاهده می کنید که این هارد دیسک دارای یک پارتیشن ntfs به ظرفیت ۱۰ گیگابایت(Primary-Bootable)(درایو c ویندوز) ، دو پارتیشن ۲۰ گیگابایتی FAT32(به ترتیب درایوهای d و e) ویک پارتیشن ۷ گیگابایتی فرمت ext3-linux می باشد.

۳) فرض کنیم می خواهیم درایو e را در لینوکس قابل دسترسی سازیم،از فرمان Mount به صورت زیر استفاده می کنیم.

/dev/hda6 /mnt/win

به همین راحتی !
برای امتحان می توانید، فرمان های زیر را امتحان کنید.

cd /mnt/win
ls -all

نکته ۱: فرمان mount ذکر شده فقط برای درایو های غیر ntfs کاربرد دارد، اگر می خواهید درایو های ntfs را mount کنید(مثلا درایو c هارد نمونه) از فرمان زیر استفاده کنید.

mount -t ntfs /dev/hda1 /mnt/win

اگر پیغام خطایی مثل “Filesystem Unsupported” دریافت کردید به این معنی است که Kernel لینوکس شما درایو های ntfs را پشتیبانی نمی کند. یکی از راه حل های موجود compile دوباره کرنل لینوکس است !!! خوشبختانه راه حل ساده تری هم وجود دارد در سایتhttp://linux-ntfs.sourceforge.net/ توانید فایل patch مناسب لینوکس خود را پیدا کنید، حجم این patch ها بسیار کم است و به صورت فایل های آماده نصب rpm نیز قابل بارگزاری هستند.

نکته ۲: این روش فقط برای یک بار معتبر است ، یعنی اگر شما بار دیگر لینوکس را بوت نمایید عمل mount را نیز باید تکرار نمایید. برای اتوماتیک کردن این عمل (فرض کنید می خواهیم تمام درایو های ویندوز را هر بار که لینوکس را بوت می نماییم، مشاهده کنیم) باید فایل /etc/fstab را تغییر دهیم. برای این کار با یک ادیتور متن (مثلا gedit) فایل را بازکنید.

gedit /etc/fstab

باید چیزی شبیه این را ببینید:

# This file is edited by fstab-sync - see 'man fstab-sync' for details
LABEL=/ / ext3 defaults 1 1
none /dev/pts devpts gid=5,mode=620 0 0
none /dev/shm tmpfs defaults 0 0
none /proc proc defaults 0 0
none /sys sysfs defaults 0 0
/dev/hdc /media/cdrecorder auto
pamconsole,fscontext=system_u:object_r:removable_t,ro,exec,noauto,managed 0 0

ساختار این فایل بسیار ساده است(به ترتیب از چپ به راست : منبع، مقصد، نوع فایل سیستم، option ها) برای اضافه کردن یک mount خطی مثل زیر را اضافه کنید.(برای فاصله های اول و دوم از Tab استفاده کنید.)

/dev/hda1 /mnt/win_c ntfs defaults 0 0

(فرض می کنیم دایرکتوری /mnt/win_c را قبلا ایجاد کرده ایم)
پس از ذخیره ، می توانید با دستور

mount -a

به لینوکس بگویید که ساختار فایل سیستم خود را با فایل fstab دوباره بازسازی کند.
به هر تعداد که نیاز دارید ، خطوط auto mount به این فایل اضافه کنید. همین !

 

پاسخ ها(۳)


  1. مرسی از زحماتت.

  2. bichare گفت:


    ممنون بابت زحماتی که میکشی.
    سایت مفید و جالبی داری.
    جدی میگم /کمتر پیش میاد از سایتی خوشم بیاد.
    موفق باشی.

  3. محسن گفت:


    سلام لطفا در مورد فارسی نوشتن در لینوکس کمی توضیخ دهید

نظر دهید