رفع مشکل Mount کردن درایورها در لینوکس

اکثر اوقات افرادی که از سیستم عامل گنو/لینوکس در کنار ویندوزشون استفاده میکنن(مثه من ? )، درگیر یک Error مسخره موقع Mount کردن درایو های ویندوزیشون که با فرمت NTFS هستش میشن.

یک نمونه از متن این Error پایین آوردم:

Error mounting /dev/sda2 at /media/smn/2E26BB2626BAEDC9: Command-line `mount -t “ntfs” -o “uhelper=udisks2,nodev,nosuid,uid=1000,gid=1000” “/dev/sda2” “/media/smn/2E26BB2626BAEDC9″‘ exited with non-zero exit status 14: Windows is hibernated, refused to mount.
Failed to mount ‘/dev/sda2’: Operation not permitted
The NTFS partition is in an unsafe state. Please resume and shutdown
Windows fully (no hibernation or fast restarting), or mount the volume
read-only with the ‘ro’ mount option.

خب حالا اول یک مرور کنیم که اصلن چرا ما همچین پیغام خطایی میبینیم؟!

دلیلش بودن ویژگی خاصی در سیستم‌عامل‌های ویندوز ۸ و ۱۰ به نام Fast StartUp هستش. مایکروسافت این ویژگی رو به سیستم‌عامل های جدید خودش اضافه کرد تا مدت زمان بوت شدن سیستم رو کاهش بده.

توی حالت عادی خاموش شدن سیستم بدون این ویژگی، تنها اتفاقی که میفته برق از تک‌تک اجزا سیستم مثل CPU, RAM, CD-Rom و Hard Disk گرفته میشه و تمام. اما با این ویژگی هنگام خاموش شدن، اطلاعات سیستمی مثل محتوای ثبات‌ها و بخشی از متادیتا هایی که شامل وضعیت پارتیشن‌های Mount شده هست در داخل فایلی ذخیره میشن و این اتفاق باعث سریعتر شدن زمان بوت سیستم میشه.

حالا زمانی که شما در لینوکس می‌خواین درایوی رو Mount کنین، نیاز هستش که سیستم‌عامل دوباره اون متادیتا هارو بازنویسی مخصوص لینوکس بکنه و از اونجایی که این اطلاعات دارای سطح دسترسی Protected هستند این اتفاق نمیفته و اون پیغام خطا رو میبنیم.

حالا میریم سراغ راه‌حل های رفع این مشکل …

اولین راه‌حل و در واقع راه‌حل همیشگی برای این مشکل، غیرفعال کردن قابلیت Fast StartUp در سیستم‌عامل ویندوز هست.

برای انجام این کار مراحل زیر رو دنبال کنین:

Control Panel > Hardware and Sound > Power Options > System Setting > Choose what the power buttons do
Turn on fast startup تیک این گزینه رو بردارین …

روش بعدی و سریع حل این مشکل در خود لینوکس به این شکل هستش که اول ترمینال رو باز میکنین و به ازای هر درایوی که این مشکل رو داره دستور زیر رو وارد میکنین:

sudo ntfsfix /dev/sdXY

که در دستور بالا منظور از XY شماره درایو موردنظر هست که از خط دوم پیغام خطا قابل تشخیصه و اونو جایگزین XY میکنین.

برای مثال:

sudo ntfsfix /dev/sda5

در ضمن ابزار ntfsfix به طور پیش‌فرض نصب شده هست.

با این روش ها دیگه از شر این Error خلاص میشین .. ?

پ.ن: اگر حوصله زدن این دستور رو برای هر درایو ندارین از اینجا (+) اسکریپت رو دانلود کنین و فقط درگ کنینش توی محیط ترمینال و بعدم اینتر، پسورد سیستم رو بزنین و … تمام! …