NTFSRESIZE(8) System Manager's Manual NTFSRESIZE(8)

ntfsresize - تغییر اندازه سیستم‌فایل NTFS بدون از دست رفتن داده‌ها

ntfsresize [OPTIONS] --info(-mb-only) DEVICE
ntfsresize [OPTIONS] [--size SIZE[k|M|G]] DEVICE

برنامه ntfsresize سیستم‌فایل‌های NTFS ویندوزهای Windows XP، Windows Server 2003، Windows 2000، Windows NT4 و Longhorn را به‌صورت امن و بدون از دست رفتن داده‌ها تغییر اندازه می‌دهد. تمامی نسخه‌های NTFS مورد استفاده در ویندوزهای ۳۲ بیتی و ۶۴ بیتی پشتیبانی می‌شوند. یکپارچه‌سازی دیسک (Defragmentation) پیش از تغییر اندازه الزامی نیست زیرا این برنامه در صورت نیاز می‌تواند داده‌ها را بدون به خطر انداختن سلامت آن‌ها جابه‌جا کند.

از ntfsresize می‌توان برای کوچک کردن یا بزرگ کردن هر سیستم‌فایل NTFS مستقر روی یک DEVICE (معمولاً یک پارتیشن دیسک) سوارنشده (unmounted) استفاده کرد. سیستم‌فایل جدید در یک DEVICE که اندازه مورد نظر آن SIZE بایت است جای خواهد گرفت. پارامتر SIZE می‌تواند دارای یکی از اصلاح‌کننده‌های اختیاری k، M، G باشد، به این معنی که پارامتر SIZE به‌ترتیب بر حسب کیلو، مگا یا گیگابایت داده شده است. Ntfsresize با استفاده از k=10^3، M=10^6 و G=10^9 با استانداردهای SI، ATA، IEEE و تولیدکنندگان دیسک مطابقت دارد.

اگر هر دوی --info(-mb-only) و --size مشخص نشوند، سیستم‌فایل NTFS به اندازه DEVICE زیرین گسترش خواهد یافت.

برای تغییر اندازه یک سیستم‌فایل روی یک پارتیشن، باید هم سیستم‌فایل و هم پارتیشن را با ویرایش جدول پارتیشن روی دیسک تغییر اندازه دهید. همانند سایر ابزارهای خط فرمان تغییر اندازه سیستم‌فایل، ntfsresize اندازه پارتیشن‌ها را دستکاری نمی‌کند، بنابراین برای انجام این کار باید از یک ابزار پارتیشن‌بندی دیسک نیز استفاده کنید، برای نمونه fdisk(8). در غیر این صورت می‌توانید از یکی از چندین ابزار پارتیشن‌بندی کاربرپسند که از ntfsresize به‌صورت داخلی استفاده می‌کنند بهره ببرید، مانند DiskDrake از Mandriva، QTParted، YaST Partitioner از SUSE/Novell، EVMS از IBM، GParted یا Partman از Debian/Ubuntu.

مهم! تهیه منظم نسخه‌های پشتیبان از داده‌های باارزش، به‌ویژه پیش از استفاده از هرگونه ابزار پارتیشن‌بندی، اقدام بسیار مناسبی است. برای انجام این کار در NTFS می‌توانید از ntfsclone(8) استفاده کنید. ذخیره جدول پارتیشن را نیز فراموش نکنید!

اگر می‌خواهید یک پارتیشن NTFS را کوچک کنید، ابتدا از ntfsresize برای کاهش اندازه سیستم‌فایل استفاده کنید. سپس می‌توانید از fdisk(8) برای کوچک کردن اندازه پارتیشن با حذف پارتیشن و ایجاد مجدد آن با اندازه کوچک‌تر استفاده نمایید. اندازه پارتیشن را کوچک‌تر از اندازه جدید NTFS قرار ندهید، در غیر این صورت سیستم قادر به راه‌اندازی (بوت) نخواهد بود. اگر با وجود این چنین کاری کردید، کافی است پارتیشن را مجدداً به بزرگی اندازه NTFS ایجاد کنید.

برای بزرگ کردن یک سیستم‌فایل NTFS، ابتدا باید اندازه پارتیشن زیرین را افزایش دهید. این کار را می‌توان با استفاده از fdisk(8) با حذف پارتیشن و ایجاد مجدد آن با اندازه بزرگ‌تر انجام داد. اطمینان حاصل کنید که با پارتیشن موجود دیگری هم‌پوشانی نداشته باشد. می‌توانید به سمت بالا (سکتور اول بدون تغییر) یا به سمت پایین (سکتور آخر بدون تغییر) گسترش دهید، اما نمی‌توانید در یک مرحله از هر دو طرف گسترش دهید. اگر دو پارتیشن NTFS را ادغام کنید، تنها یکی از آن‌ها می‌تواند به اندازه پارتیشن ادغام‌شده گسترش یابد. پس از آنکه پارتیشن را بزرگ کردید، می‌توانید از ntfsresize برای افزایش اندازه سیستم‌فایل استفاده کنید.

هنگام ایجاد مجدد پارتیشن توسط یک ابزار پارتیشن‌بندی دیسک، اطمینان حاصل کنید که آن را با همان سکتور شروع و با همان نوع پارتیشن قبلی ایجاد می‌کنید. در غیر این صورت قادر به دسترسی به سیستم‌فایل خود نخواهید بود. از دستور 'u' در fdisk برای جابه‌جایی از واحد پیش‌فرض سیلندر به واحد مطمئن‌تر سکتور استفاده کنید.

همچنین مطمئن شوید که در صورت وجود پرچم قابل بوت (bootable) برای پارتیشن در گذشته، مجدداً آن را تنظیم کنید. عدم انجام این کار ممکن است مانع راه‌اندازی رایانه شما از روی دیسک شود.

در ادامه خلاصه‌ای از تمام گزینه‌هایی که ntfsresize می‌پذیرد آمده است. تقریباً تمام گزینه‌ها دارای دو نام معادل هستند. نام کوتاه با - و نام طولانی با -- مشخص می‌شود. هر گزینه تک‌حرفی که آرگومانی دریافت نمی‌کند، می‌تواند در یک دستور ترکیب شود؛ برای نمونه -fv معادل -f -v است. گزینه‌های دارای نام طولانی را می‌توان به هر پیشوند یکتایی از نام آن‌ها خلاصه کرد.

با استفاده از این گزینه، ntfsresize فقط دستگاه را بررسی می‌کند تا اطمینان حاصل کند که برای تغییر اندازه آماده است. در غیر این صورت، هرگونه خطای شناسایی‌شده را چاپ می‌کند. اگر دستگاه مشکلی نداشته باشد، چیزی چاپ نخواهد شد.
با استفاده از این گزینه بدون --expand، ابزار ntfsresize کوچک‌ترین اندازه سیستم‌فایل کاهش‌یافتهٔ قابل پشتیبانی را از نظر تئوری تعیین می‌کند. در بیشتر مواقع نتیجه همان فضای استفاده‌شده روی سیستم‌فایل است. ابزار ntfsresize از کاهش اندازه به مقداری کمتر از آنچه با این گزینه به دست آمده است خودداری خواهد کرد و بسته به عوامل گوناگون ممکن است نتواند به مقداری بسیار نزدیک به این اندازه تئوری کاهش یابد. اگرچه سلامت داده‌های شما هرگز نباید در معرض خطر قرار گیرد، با این حال قویاً توصیه می‌شود که پیش از تغییر اندازه واقعی، یک اجرای آزمایشی با استفاده از گزینه --no-action انجام دهید.

در عمل، کوچک‌ترین اندازه پس از کاهش عموماً در حدود «فضای استفاده‌شده» + (۲۰ تا ۲۰۰ مگابایت) است. لطفاً این نکته را نیز در نظر بگیرید که ویندوز برای راه‌اندازی امن ممکن است به حدود ۵۰ تا ۱۰۰ مگابایت فضای خالی نیاز داشته باشد.

در صورت استفاده همراه با گزینه --expand، ابزار ntfsresize کوچک‌ترین اندازه گسترش به سمت پایین و مقادیر افزایشی ممکن برای اندازه را تعیین می‌کند. این مقادیر تعداد دقیق بایت‌ها هستند که نباید گرد شوند. این گزینه را می‌توان پس از گسترش پارتیشن استفاده کرد، به شرطی که حد بالایی تغییر نکرده باشد.

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

همانند گزینه info، فقط اندازه قابل کاهش را بر حسب مگابایت چاپ می‌کند. اگر اندازه قابل کاهش با اندازه اصلی (بر حسب مگابایت) یکسان باشد، چیزی چاپ نمی‌شود. این گزینه نمی‌تواند همراه با گزینه --expand استفاده شود.
تغییر اندازه سیستم‌فایل برای جا گرفتن در پارتیشنی که اندازه آن SIZE[k|M|G] بایت است، با جابه‌جا کردن انتهای آن و بدون تغییر نگه‌داشتن ابتدای آن. اندازه سیستم‌فایل به گونه‌ای تنظیم می‌شود که حداقل یک سکتور کوچک‌تر از پارتیشن باشد. اصلاح‌کننده‌های اختیاری k، M، G به این معنی هستند که پارامتر SIZE به‌ترتیب بر حسب کیلو، مگا یا گیگابایت داده شده است. مطابق با استانداردها، k=10^3، M=10^6 و G=10^9. مقادیر ki=2^10، Mi=2^20 و Gi=2^30 نیز مجاز هستند. ابتدا از این گزینه به همراه --no-action استفاده کنید.
گسترش سیستم‌فایل به اندازه فعلی پارتیشن، با جابه‌جا کردن ابتدای آن به سمت پایین و دست‌نخورده نگه‌داشتن انتهای آن. متاداده در فضای گسترش‌یافته بازسازی می‌شود و هیچ داده کاربری جابه‌جا نمی‌شود. این گزینه با گزینه -s (یا --size) ناسازگار است و تنها در صورتی قابل انجام است که فضای گسترش‌یافته مضرب دقیقی از اندازه کلاستر باشد. همچنین باید به اندازه کافی بزرگ باشد تا متادادهای جدید را در خود جای دهد.

اگر گسترش به دلیلی قطع شود (قطعی برق و غیره)، می‌توانید تغییر اندازه را دوباره آغاز کنید، زیرا داده‌ها و متادادهای اصلی دست‌نخورده باقی مانده‌اند.

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

وادار کردن ntfsresize به ادامه عملیات تغییر اندازه، یا بدون درخواست تایید صریح، یا در صورتی که سیستم‌فایل برای بررسی سازگاری علامت‌گذاری شده باشد. تکرار این گزینه (-ff، --force --force) از درخواست تایید جلوگیری می‌کند، حتی اگر سیستم‌فایل برای بررسی علامت‌گذاری شده باشد.

لطفاً توجه داشته باشید که ntfsresize همیشه پیش از عملیات واقعی تغییر اندازه، سیستم‌فایل را برای بررسی سازگاری علامت‌گذاری می‌کند و برای ایمنی بیشتر آن را به همان حالت باقی می‌گذارد. بنابراین اگر NTFS توسط ntfsresize علامت‌گذاری شده باشد، استفاده از این گزینه امن است. اگر نیاز دارید چندین بار بدون راه‌اندازی ویندوز بین هر مرحله تغییر اندازه دهید، باید از این گزینه استفاده کنید.

استفاده از این گزینه برای یک اجرای آزمایشی پیش از انجام عملیات واقعی تغییر اندازه. ولوم به‌صورت فقط‌خواندنی باز خواهد شد و ntfsresize نشان می‌دهد که در صورت تغییر اندازه سیستم‌فایل چه کاری انجام می‌داد. تنها در صورتی تغییر اندازه واقعی را ادامه دهید که اجرای آزمایشی با موفقیت به پایان رسیده باشد.
پشتیبانی از دیسک‌های دارای خطاهای سخت‌افزاری و سکتورهای خراب که ntfsresize به‌طور پیش‌فرض از کار با آن‌ها خودداری می‌کند.

پیش از استفاده از این گزینه، اکیداً توصیه می‌شود با استفاده از ntfsclone(8) به همراه گزینه --rescue یک نسخه پشتیبان تهیه کنید و سپس دستور 'chkdsk /f /r volume:' را در خط فرمان ویندوز اجرا نمایید. اگر دیسک هنوز گارانتی دارد، آن را تعویض کنید؛ دیسک معیوب است. لطفاً توجه داشته باشید که هیچ نرم‌افزاری نمی‌تواند این نوع خطاهای سخت‌افزاری را تعمیر کند. حداکثر کاری که آن‌ها می‌توانند انجام دهند دور زدن عیوب دائمی است.

این گزینه در صورتی که دیسک سالم و بدون نقص باشد هیچ تاثیری ندارد.

عدم نمایش نوارهای پیشرفت.
خروجی پرجزئیات‌تر.
چاپ شماره نسخه ntfsresize و خروج.
نمایش راهنما و خروج.

کد خروج در صورت موفقیت ۰ و در غیر این صورت مقداری غیرصفر است.

هیچ مشکل شناخته‌شده‌ای در زمینه قابلیت اطمینان وجود ندارد. اگر اشکالی پیدا کردید، لطفاً ایمیلی حاوی شرح مشکل به تیم توسعه ارسال کنید:
ntfs-3g-devel@lists.sf.net

در حال حاضر محدودیت‌های بسیار نادری وجود دارد: سیستم‌فایل‌های دارای سکتورهای خراب ناشناخته، جابه‌جایی اولین بخش MFT (first MFT extent) و تغییر اندازه به وسط یک بخش $MFTMirr هنوز پشتیبانی نمی‌شوند. این موارد شناسایی می‌شوند و تغییر اندازه به یک اندازه امن محدود می‌گردد یا نزدیک‌ترین اندازه امن نمایش داده می‌شود.

ابزار Ntfsresize یک بررسی سازگاری NTFS را زمان‌بندی می‌کند و پس از نخستین راه‌اندازی ویندوز، باید اجرای chkdsk را روی یک پس‌زمینه آبی مشاهده کنید. این امر عمدی است و نیازی به نگرانی درباره آن نیست. ویندوز ممکن است پس از بررسی سازگاری، یک راه‌اندازی مجدد سریع را تحمیل کند. علاوه بر این، پس از پارتیشن‌بندی مجدد دیسک و بسته به پیکربندی سخت‌افزاری، پیام System Settings Change ویندوز نیز ممکن است ظاهر شود. کافی است آن را تایید کرده و سیستم را مجدداً راه‌اندازی کنید.

مفهوم مدیریت ساختار هندسی دیسک (HDIO_GETGEO ioctl) در هسته‌های لینوکس 2.6 به شیوه‌ای ناسازگار تغییر کرد و این امر موجب خرابی‌های متعدد جدول پارتیشن شد که به غیرقابل بوت شدن سیستم‌های ویندوز انجامید، حتی اگر NTFS سازگار بود، در صورتی که parted(8) به نحوی درگیر شده بود. این مشکل اغلب به ntfsresize نسبت داده می‌شد، اما در واقع کاملاً مستقل از NTFS و در نتیجه ntfsresize است. علاوه بر این، ntfsresize هرگز به جدول پارتیشن دست نمی‌زند. با تغییر حالت دسترسی دیسک ('Disk Access Mode') به LBA در BIOS، در بیشتر مواقع بوت مجدداً کار می‌کند. می‌توانید اطلاعات بیشتری درباره این موضوع در بخش عیب‌یابی (Troubleshooting) سوالات متداول Ntfsresize که در ادامه ارجاع داده شده است بیابید.

ntfsresize توسط Szabolcs Szakacsits با مشارکت Anton Altaparmakov و Richard Russon نوشته شده است. این برنامه توسط Erik Larsson و Jean-Pierre Andre به ntfs-3g پورت شد.

با تشکر فراوان از Anton Altaparmakov و Richard Russon برای libntfs، مستندات عالی و توضیحات، از Gergely Madarasz، Dewey M. Sasser و Miguel Lastra و همکارانش در دانشگاه گرانادا برای کمک‌های مداوم و بسیار ارزشمندشان، همچنین از Erik Meade، Martin Fick، Sandro Hawke، Dave Croal، Lorrin Nelson، Geert Hendrickx، Robert Bjorkman و Richard Burdick برای آزمایش بتای پشتیبانی از جابه‌جایی، از Florian Eyben، Fritz Oppliger، Richard Ebling، Sid-Ahmed Touati، Jan Kiszka، Benjamin Redelings، Christopher Haney، Ryan Durk، Ralf Beyer، Scott Hansen، Alan Evans برای مشارکت‌های ارزشمندشان و از Theodore Ts'o که صفحه راهنمای resize2fs(8) او در اصل مبنای این صفحه را تشکیل داده است.

ntfsresize بخشی از بسته ntfs-3g بوده و از نشانی زیر در دسترس است:
https://github.com/tuxera/ntfs-3g/wiki

fdisk(8), cfdisk(8), sfdisk(8), parted(8), evms(8), ntfsclone(8), mkntfs(8), ntfsprogs(8)

July 2013 ntfs-3g 2026.7.7