HDPARM(8) دستورهای مدیریتی و نگهداری HDPARM(8)

hdparm - نمایش و تنظیم پارامترهای دیسکهای ذخیرهسازی SATA و IDE

hdparm [ گزینهها ] [ دستگاه... ]

دستور hdparm یک رابط خط فرمانی برای تنظیم، آزمایش کارایی و مدیریت دیسکهای گردان و حافظههای سختافزاری SATA/IDE در هسته لینوکس فراهم میآورد. این ابزار به رابطهای گوناگون هسته که توسط زیرسیستم "libata" لینوکس برای درایوهای SATA/PATA/SAS و زیرسیستم قدیمیتر درایور IDE پشتیبانی میشوند، دسترسی دارد. بسیاری از محفظههای درایو USB جدیدتر (از سال ۲۰۰۸ به بعد) نیز از پروتکل "SAT" (ترجمه دستورات SCSI-ATA) پشتیبانی میکنند و بنابراین ممکن است با hdparm کار کنند؛ برای نمونه مدلهای جدید WD "Passport" و محفظههای جدید NexStar-3. برخی گزینهها ممکن است تنها با آخرین نسخههای هسته لینوکس بهدرستی کار کنند.

هنگامی که هیچ گزینهای مشخص نشود، پیشفرض -acdgkmur در نظر گرفته میشود. برای گزینههای «دریافت/تنظیم» (Get/set)، یک پرسوجو بدون پارامتر اختیاری (مثلاً -d) وضعیت دستگاه را بررسی (دریافت) میکند و همراه با یک پارامتر (مثلاً -d0) وضعیت دستگاه را تنظیم مینماید.

دریافت یا تنظیم تعداد بخشها (قطاعها) برای پیشخوانی سیستمفایل (نرمافزاری). این گزینه برای بهبود کارایی در خواندن متوالی فایلهای حجیم، از طریق پیشخوانی بلوکهای اضافی در پیشبینی نیاز به آنها توسط پردازش جاری به کار میرود. بسیاری از درایوهای IDE همچنین دارای یک تابع پیشخوانی سختافزاری داخلی جداگانه هستند که این تابع پیشخوانی سیستمفایل (نرمافزاری) را تقویت میکند.
فعالسازی یا غیرفعالسازی ویژگی پیشخوانی درایو IDE (معمولاً بهطور پیشفرض روشن است). نحوه استفاده: -A0 (غیرفعال) یا -A1 (فعال).
دریافت یا تنظیم وضعیت گذرگاه (Bus).
دریافت یا تنظیم ویژگی مدیریت پیشرفته مصرف انرژی (APM)، در صورتی که درایو از آن پشتیبانی کند. یک مقدار کم به معنی مدیریت تهاجمی مصرف انرژی و یک مقدار بالا به معنای کارایی بهتر است. تنظیمات ممکن شامل مقادیر ۱ تا ۱۲۷ (که اجازه توقف گردش دیسک یا spindown را میدهند) و مقادیر ۱۲۸ تا ۲۵۴ (که اجازه توقف گردش را نمیدهند) میباشد. بالاترین درجه صرفهجویی در مصرف انرژی با تنظیم ۱ و بالاترین کارایی ورودی/خروجی با تنظیم ۲۵۴ به دست میآید. مقدار ۲۵۵ به hdparm میگوید ویژگی مدیریت پیشرفته مصرف انرژی را بهطور کامل در درایو غیرفعال کند (همه درایوها از غیرفعالسازی آن پشتیبانی نمیکنند، اما بیشتر آنها پشتیبانی میکنند).
دریافت یا تنظیم پشتیبانی ورودی/خروجی ۳۲ بیتی (E)IDE. یک پارامتر عددی میتواند برای فعال/غیرفعال کردن پشتیبانی ورودی/خروجی ۳۲ بیتی استفاده شود. مقادیر پشتیبانیشده کنونی شامل 0 برای غیرفعال کردن پشتیبانی ورودی/خروجی ۳۲ بیتی، 1 برای فعال کردن انتقال دادههای ۳۲ بیتی، و 3 برای فعال کردن انتقال دادههای ۳۲ بیتی با توالی ویژه sync که توسط بسیاری از چیپستها الزامی است میباشد. مقدار 3 تقریباً با تمام چیپستهای ۳۲ بیتی IDE کار میکند، اما سربار اندکی بیشتری به همراه دارد. توجه داشته باشید که اصطلاح «۳۲ بیتی» فقط به انتقال دادهها از طریق گذرگاه PCI یا VLB به کارت رابط اشاره دارد؛ تمام درایوهای (E)IDE همچنان از طریق کابل فلت رابط تنها اتصال ۱۶ بیتی دارند.
بررسی وضعیت حالت مصرف برق فعلی IDE، که همیشه یکی از مقادیر زیر خواهد بود: unknown (درایو از این دستور پشتیبانی نمیکند)، active/idle (عملکرد عادی دیسک)، standby (حالت کممصرف، دیسک متوقف شده است)، یا sleeping (کمترین حالت مصرف انرژی، درایو کاملاً خاموش شده است). گزینههای -S، -y، -Y، و -Z میتوانند برای کنترل و تغییر حالتهای مصرف انرژی IDE به کار روند.
دریافت یا تنظیم فلگ "using_dma" برای این درایو. این گزینه با بیشتر ترکیبهای درایوها و رابطهای PCI که از DMA پشتیبانی میکنند و برای درایور IDE هسته شناختهشده هستند کار میکند. همچنین ایده خوبی است که از گزینه مناسب -X در ترکیب با -d1 استفاده کنید تا اطمینان حاصل شود که خود درایو نیز برای حالت DMA صحیح برنامهریزی شده است، اگرچه اغلب BIOSها هنگام بوت این کار را انجام میدهند. استفاده از DMA تقریباً همیشه بالاترین کارایی را همراه با توان عملیاتی I/O بالا و مصرف ناچیز پردازنده فراهم میسازد. اما در پیکربندیهای معدودی از چیپستها و درایوها، DMA تفاوت زیادی ایجاد نمیکند یا حتی ممکن است باعث کاهش سرعت شود (در سختافزارهای بسیار نامناسب).
عبارت DCO مخفف Device Configuration Overlay است؛ روشی برای سازندگان بهمنظور غیرفعال کردن انتخابی برخی قابلیتهای درایو. گزینه --dco-freeze پیکربندی فعلی درایو را منجمد و قفل میکند و بدین ترتیب مانع از تغییر تنظیمات DCO توسط نرمافزارها (یا بدافزارها) تا زمان راه‌اندازی و روشن شدن مجدد سختافزار میشود.
پرسوجو و نمایش اطلاعات مربوط به تنظیمات پیکربندی درایو که میتوانند توسط سازنده یا نصاب OEM غیرفعال شده باشند. این تنظیمات نشاندهنده قابلیتهایی از درایو هستند که ممکن است توسط سازنده برای "سازگاری بیشتر" غیرفعال شده باشند. در صورت غیرفعال بودن، این ویژگیها پنهان هستند و در خروجی شناسایی -I نمایش داده نمیشوند. برای نمونه، سازندگان سیستم گاهی آدرسدهی ۴۸ بیتی را در درایوهای بزرگ بهدلیل سازگاری با یک BIOS خاص (همراه با از دست رفتن ظرفیت) غیرفعال میکنند. در چنین مواردی، --dco-identify نشان میدهد که درایو از آدرسدهی ۴۸ بیتی پشتیبانی میکند، اما -I آن را نمایش نمیدهد و درایو نیز دستورات ۴۸ بیتی را نمیپذیرد.
بازنشانی تمامی تنظیمات، قابلیتها و ظرفیتهای در دسترس درایو به مقادیر پیشفرض کارخانه و بالاترین توانمندیها. اگر DCO منجمد/قفل شده باشد یا محدودیت حداکثر اندازه با -Np تعیین شده باشد، این دستور با شکست مواجه خواهد شد. این گزینه فوقالعاده خطرناک است و به احتمال بسیار قوی موجب نابودی گسترده دادهها میشود. از این دستور استفاده نکنید.
استفاده از فلگ "O_DIRECT" هسته هنگام اجرای آزمون زمانبندی -t. این کار حافظه کش صفحات (page cache) را دور میزند و باعث میشود خواندن دادهها مستقیماً از درایو به بافرهای hdparm با استفاده از ورودی/خروجی خام (raw I/O) انجام گیرد. در بسیاری از موارد، این روش میتواند نتایجی ارائه دهد که بسیار سریعتر از روش معمولی کش صفحات به نظر میرسند و نشانه بهتری از کارایی خام دستگاه و درایور فراهم میسازند.
بسیار خطرناک، حتی به استفاده از آن فکر هم نکنید. این گزینه موجب میشود hdparm یک دستور IDENTIFY را به هسته صادر کند، اما به اشتباه بهعنوان یک دستور «بدون داده» (non-data) علامتگذاری شود. این کار سبب میشود خط DataReQust(DRQ) درایو در حالت بالا (high) گیر کند. این حالت درایورهای هسته را دچار اختلال کرده و ممکن است فوراً سیستم را با نابودی گسترده دادهها به کرش بکشاند. این گزینه تنها برای کمک به آزمودن و مقاومسازی هسته در برابر نقایص مشابه درایوها در دنیای واقعی وجود دارد. بسیار خطرناک، استفاده نکنید!!
فعال/غیرفعال کردن ویژگی مدیریت نقصهای داخلی درایو (defect management)، که در آن سفت‌افزار درایو تلاش میکند بخشهای خراب را بهطور خودکار با تخصیص مجدد به قطاعهای یدکی رزروشده در کارخانه مدیریت کند. کنترل این ویژگی از طریق گزینه -D در اکثر درایوهای مدرن از زمان استاندارد ATA-4 پشتیبانی نمیشود؛ بنابراین این دستور ممکن است با شکست مواجه شود.
تنظیم سرعت درایو CD/DVD. این گزینه برای عملکرد عادی ضروری نیست، زیرا درایو بهطور خودکار سرعت را متناسب با نیاز تنظیم میکند. اما در صورت تمایل، کافی است یک عدد مربوط به سرعت را پس از گزینه مشخص کنید؛ معمولاً عددی مانند ۲ یا ۴. این ویژگی در برخی شرایط برای روانسازی پخش ویدیوهای DVD کاربرد دارد.
همگامسازی و تخلیه بافر کش (sync and flush) برای دستگاه هنگام خروج. این عملیات بهعنوان بخشی از زمانبندیهای -t و -T و دیگر گزینهها نیز به صورت درونی انجام میپذیرد.
این گزینه در حال حاضر تنها روی سیستمفایلهای ext4 و xfs کار میکند. هنگام استفاده، این باید تنها گزینه دادهشده در خط فرمان باشد. به دو پارامتر نیاز دارد: اندازه فایل مورد نظر به کیبیبایت (تعداد بایتها تقسیم بر ۱۰۲۴)، و در ادامه مسیر فایل جدید. این گزینه فایلی جدید با اندازه مشخصشده بدون نوشتن واقعی دادهها در فایل ایجاد میکند. این کار معمولاً بسیار سریع و بدون درگیر کردن بیش از حد دستگاه ذخیرهسازی به پایان میرسد.
مثال: ایجاد یک فایل ۱۰ کیبیبایتی: hdparm --fallocate 10 temp_file
هنگام استفاده، باید تنها گزینه مشخصشده باشد. به مسیر یک فایل بهعنوان پارامتر نیاز دارد و فهرستی از گسترههای بلوک (محدوده قطاعها) اشغالشده توسط آن فایل را روی دیسک چاپ میکند. شمارههای قطاع به صورت شمارههای مطلق LBA بر مبنای قطاع صفر دستگاه فیزیکی (نه پارتیشن یا سیستمفایل) گزارش میشوند. سپس میتوان از این اطلاعات برای اهداف گوناگونی استفاده کرد؛ مانند بررسی میزان قطعهقطعهشدن (تکهتکهشدن) فایلهای بزرگ، یا تعیین قطاعهای مناسب برای تخریب عمدی در مراحل آزمون تزریق خطا.
این گزینه در صورت در دسترس بودن از فراخوان سیستمی جدید FIEMAP ioctl() استفاده میکند و در غیر این صورت به FIBMAP ioctl() قدیمیتر پسروی مینماید. توجه داشته باشید که FIBMAP از رابط شماره بلوک ۳۲ بیتی رنج میبرد و بنابراین فراتر از ۸ ترابایت یا ۱۶ ترابایت کار نمیکند. همچنین FIBMAP بسیار کند است و با گسترههای از پیش تخصیصیافته ثبتنشده در سیستمفایلهای ext4/xfs سازگاری خوبی ندارد، مگر اینکه پیش از استفاده از این گزینه یک فراخوان sync() صورت گرفته باشد.
هنگام استفاده، این باید تنها گزینه مشخصشده باشد. بلافاصله بعد از گزینه نیاز به یک مسیر فایل دارد که مشخص میکند سفت‌افزار جدید درایو از کجا خوانده شود. محتویات این فایل با استفاده از دستور DOWNLOAD MICROCODE استاندارد (S)ATA به درایو فرستاده میشود؛ چه با پروتکل انتقال ۷ (کل فایل به صورت یکجا) و چه، در صورت پشتیبانی درایو، با پروتکل انتقال ۳ (دانلود چندبخشی). این دستور فوقالعاده خطرناک است و میتواند هم درایو و هم تمامی دادههای روی آن را نابود کند. از این دستور استفاده نکنید. نگارشهای --fwdownload-mode3، --fwdownload-mode3-max و --fwdownload-mode7 نسبت به دستور پایه --fwdownload امکان لغو تشخیص خودکار پروتکل و وادار کردن hdparm به استفاده از پروتکلی خاص را صرفاً برای اهداف آزمایشی فراهم میکنند.
تخلیه بافر حافظه کش نوشتن داخلی درایو (درایوهای قدیمیتر ممکن است این قابلیت را نداشته باشند).
نمایش هندسه درایو (سیلندرها، هدها، قطاعها)، اندازه دستگاه (بر حسب قطاع) و آفست شروع دستگاه (بر حسب قطاع) از ابتدای درایو.
نمایش اطلاعات خلاصه نحوه استفاده (راهنما).
خواندن دمای درایو در برخی درایوها (عمدتاً درایوهای هیتاچی). همچنین گزارش میدهد که آیا دما در محدوده کاری استاندارد قرار دارد یا خیر (ممکن است چندان قابل اعتماد نباشد). در صورت بیکار بودن درایو، موجب به چرخش درآمدن آن نمیشود.
نمایش اطلاعات شناسایی که درایورهای هسته (IDE, libata) از زمان بوت/پیکربندی ذخیره کردهاند. این ممکن است با اطلاعات زندهای که مستقیماً با گزینه -I از خود درایو دریافت میشود متفاوت باشد. دادههای بازگرداندهشده بسته به فعالیت سیستم از زمان بوت ممکن است بهروز باشند یا نباشند. برای تفسیر با جزئیات بیشتر اطلاعات شناسایی، به مستندات AT Attachment Interface for Disk Drives (پیشنویس کاری ANSI ASC X3T9.2، ویرایش 4a، آوریل ۱۹۹۳ و نگارشهای بعدی) مراجعه کنید.
صدور دستور ATA IDLE_IMMEDIATE برای بردن درایو به وضعیت کممصرفتر. معمولاً دستگاه همچنان در حال چرخش باقی میماند.
صدور دستور ATA IDLE_IMMEDIATE_WITH_UNLOAD برای تخلیه و پارک کردن هدها و بردن درایو به وضعیت کممصرفتر. معمولاً دستگاه در حال گردش باقی میماند.
درخواست مستقیم اطلاعات هویتی از درایو، که در قالبی گستردهتر و با جزئیات بهمراتب بیشتر از گزینه قدیمیتر -i نمایش داده میشود.
این گزینه دادههای شناسایی درایو را به صورت باینری خام در فایل مشخصشده ذخیره میکند.
این یک حالت ویژه از گزینه -I است که یک بلوک شناسایی درایو را به جای پارامتر dev/hd* / از ورودی استاندارد میپذیرد. قالب این بلوک باید دقیقاً مشابه با فایل‌های شناسایی در مسیر proc/ide/*/hd*/identify / یا خروجی تولیدشده توسط گزینه --Istdout باشد. این حالت برای استفاده همراه با «کتابخانه‌ها و آرشیوهای جمع‌آوری‌شده» از اطلاعات شناسایی درایوها طراحی شده است و همچنین می‌تواند روی درایوهای ATAPI که با سازوکار استاندارد دچار خطای رسانه می‌شوند به کار رود. هنگامی که از --Istdin استفاده می‌شود، باید *تنها* پارامتر ارائه‌شده باشد. توجه داشته باشید که برخی اطلاعات ناقص خواهند بود، زیرا صفحات لاگ درایو (LOG PAGES) هنگام استفاده از --Istdin در دسترس نیستند.
این گزینه دادههای شناسایی درایو را به صورت هگزادسیمال به خروجی استاندارد میفرستد؛ در قالبی مشابه با proc/ide/*/identify / که برای استفاده بعدی با گزینه --Istdin مناسب است.
دریافت یا تنظیم مقدار مهلت زمانی "idle3" در درایوهای Western Digital Green. این مهلت زمانی کنترل میکند که درایو هر چند وقت یکبار هدهای خود را پارک کرده و وارد حالت مصرف بهینه توان شود. پیشفرض کارخانه هشت (۸) ثانیه است که برای استفاده در گنولینوکس انتخابی بسیار ضعیف و نامناسب است. رها کردن آن روی مقدار پیشفرض باعث صدها هزار بار لود/آنلود هد در مدتی بسیار کوتاه میشود. سازوکار فیزیکی درایو تنها برای ۳۰۰,۰۰۰ تا ۱,۰۰۰,۰۰۰ چرخه رتبهبندی شده است، بنابراین مقدار پیشفرض میتواند باعث خرابی زودهنگام درایو شود؛ صرفنظر از افت کارایی ناشی از بیدار شدن مکرر درایو قبل از انجام ورودی/خروجیهای روزمره.
شرکت وسترن دیجیتال یک ابزار DOS به نام WDIDLE3.EXE برای تغییر این تنظیمات ارائه داده است و در صورت امکان باید به جای hdparm از آن برنامه استفاده کنید. پیادهسازی مهندسی معکوسشده در hdparm به کاملی برنامه رسمی نیست، اگرچه به نظر میرسد حداقل روی تعدادی از درایوها بهخوبی کار میکند. برای اعمال هرگونه تغییر صرفنظر از برنامه مورد استفاده، یک چرخه خاموش و روشن شدن کامل برق سیستم الزامی است.
تنظیم ۳۰ ثانیه برای استفاده در لینوکس پیشنهاد میشود. مقادیر مجاز از ۸ تا ۱۲ ثانیه و از ۳۰ تا ۳۰۰ ثانیه با گامهای ۳۰ ثانیهای هستند. مقدار صفر (0) زمانسنج WD idle3 را بهطور کامل غیرفعال میکند (پیشنهاد نمیشود!).
دریافت یا تنظیم فلگ "keep_settings_over_reset" برای درایو. هنگامی که این پرچم تنظیم شود، درایو تنظیمات -dmu را در یک بازنشانی نرمافزاری (soft reset) حفظ خواهد کرد (مشابه وضعیتی که در فرآیند بازیابی خطا رخ میدهد). این گزینه بهطور پیشفرض خاموش است تا از افتادن درایو در حلقه بازنشانی ناشی از ترکیب نامناسب تنظیمات -dmu جلوگیری شود. بنابراین گزینه -k تنها باید پس از دستیابی به اطمینان کامل از عملکرد صحیح سیستم با تنظیمات انتخابی فعال گردد. در عمل، تنها کاری که برای آزمایش پیکربندی (پیش از استفاده از k-) لازم است، بررسی این نکته است که درایو قابلیت خواندن/نوشتن داشته باشد و هیچ لاگ خطایی (پیامهای هسته) در حین فرآیند ثبت نشود (در بیشتر سیستمها فایل var/log/messages / یا خروجی dmesg را بررسی کنید).
تنظیم فلگ "keep_features_over_reset" درایو. تنظیم این ویژگی درایو را قادر میسازد تا تنظیمات گزینههای -APSWXZ را در بازنشانی نرمافزاری (مانند فرآیند بازیابی خطا) حفظ کند. همه درایوها از این قابلیت پشتیبانی نمیکنند.
تنظیم فلگ قفل درب درایو. مقداردهی با 1 مکانیسم درب برخی دیسکهای سخت جداشدنی (مانند Syquest, ZIP, Jazz..) را قفل میکند و مقداردهی با 0 قفل را باز مینماید. در حالت عادی، لینوکس مکانیسم قفل درب را بسته به استفاده از درایو بهطور خودکار مدیریت میکند (هرگاه سیستمفایلی سوار شود قفل میگردد). اما هنگام خاموش کردن سیستم اگر پارتیشن ریشه روی دیسک جداشدنی باشد، این مسئله میتواند مشکلآفرین شود، زیرا پارتیشن ریشه پس از خاموشی در حالت فقطخواندنی باقی میماند. بنابراین با استفاده از این دستور برای باز کردن قفل درب پس از آنکه سیستمفایل ریشه به صورت فقطخواندنی مجدداً سوار شد، میتوان کارتریج را پس از خاموشی از درایو خارج کرد.
دریافت یا تنظیم تعداد قطاعها برای ورودی/خروجی چندقطاعی روی درایو. مقدار 0 این قابلیت را غیرفعال میکند. حالت چندقطاعی (معروف به IDE Block Mode)، قابلیتی در بیشتر دیسکهای سخت مدرن IDE است که امکان انتقال چندین قطاع در هر وقفه I/O را به جای حالت معمول یک قطاع در هر وقفه فراهم میسازد. فعال بودن این ویژگی معمولاً سربار سیستم‌عامل برای ورودی/خروجی دیسک را بین ۳۰ تا ۵۰ درصد کاهش میدهد. در بسیاری از سیستمها همچنین توان عملیاتی دادهها را بین ۵ تا ۵۰ درصد بالا میبرد. با این حال برخی درایوها (بهویژه سری WD Caviar) در حالت چندقطاعی کندتر عمل میکنند. بیشتر درایوها از مقادیر کمینه ۲، ۴، ۸ یا ۱۶ (قطاع) پشتیبانی میکنند. مقادیر بالاتر نیز ممکن است بسته به نوع درایو قابل پشتیبانی باشد. تنظیم ۱۶ یا ۳۲ در بسیاری از سیستمها بهینه به نظر میرسد. شرکت وسترن دیجیتال بهدلیل بافرهای بسیار کوچک (۳۲ کیبیبایت) و الگوریتمهای بافرینگ غیربهینه، مقادیر کمتر ۴ تا ۸ را برای بسیاری از درایوهای خود توصیه میکند. گزینه -i میتواند برای یافتن حداکثر مقدار پشتیبانیشده توسط درایو نصبشده استفاده شود (به دنبال عبارت MaxMultSect در خروجی بگردید). برخی درایوها ادعای پشتیبانی از حالت چندقطاعی دارند، اما در برخی تنظیمات دادهها را از دست میدهند. در شرایط نادر، این خرابیها میتواند منجر به تخریب گسترده سیستمفایل شود.
ایجاد عمدی یک قطاع خراب (معروف به «خطای رسانه») روی دیسک. فوقالعاده خطرناک. هرگز از این گزینه استفاده نکنید!! این گزینه برای آزمایش سازوکارهای بازیابی خطای دستگاه یا RAID کاربرد دارد. شماره قطاع به صورت یک پارامتر (در مبنای ۱۰) پس از گزینه مشخص میشود. بسته به دستگاه، hdparm یکی از دو دستور ممکن ATA را برای خراب کردن قطاع انتخاب میکند. دستور WRITE_LONG روی بیشتر درایوها کار میکند، اما تنها تا مرز قطاعهای ۲۸ بیتی. برخی درایوهای جدیدتر (از سال ۲۰۰۸ به بعد) ممکن است از دستور جدید WRITE_UNCORRECTABLE_EXT پشتیبانی کنند که برای هر قطاع LBA48 کار میکند. در صورت در دسترس بودن، hdparm آن را به WRITE_LONG ترجیح میدهد. دستور WRITE_UNCORRECTABLE_EXT خود این امکان را فراهم میکند که نحوه رفتار قطاع خراب جدید تعیین شود. بهطور پیشفرض، این قطاع مانند هر قطاع خراب دیگری رفتار خواهد کرد و درایو ممکن است مدتی را صرف تلاش مجدد کند و در خواندنهای بعدی آن قطاع با شکست روبرو شود. اما اگر یک حرف f بلافاصله پیش از اولین رقم پارامتر شماره قطاع قرار گیرد، hdparm دستور نشانه‌گذاری‌شده WRITE_UNCORRECTABLE_EXT را صادر میکند که موجب میشود درایو صرفاً آن قطاع را بهعنوان خراب علامتگذاری کند (نه اینکه واقعاً آن را تخریب کند) و خواندنهای بعدی از قطاع بلافاصله (بدون چندین بار تلاش مجدد) با شکست مواجه شوند. همچنین توجه داشته باشید که گزینه --repair-sector میتواند برای بازگردانی (هرگونه) قطاع خراب در زمانی که دیگر نیازی به آن نیست استفاده شود، از جمله قطاعهایی که واقعاً خراب بودهاند (درایو احتمالاً آنها را به ناحیه سالمی از رسانه تخصیص مجدد خواهد داد).
دریافت یا تنظیم مدیریت صوتی خودکار (AAM). بیشتر دیسکهای سخت مدرن این توانایی را دارند که سرعت حرکت هدها را بهمنظور کاهش صدای تولیدی کاهش دهند. مقادیر ممکن بین ۰ تا ۲۵۴ هستند. مقدار ۱۲۸ کمصداترین (و بنابراین کندترین) تنظیم و ۲۵۴ سریعترین (و پرصداترین) تنظیم است. برخی درایوها تنها دو سطح (آرام / سریع) دارند، در حالی که برخی دیگر ممکن است سطوح متفاوتی بین ۱۲۸ و ۲۵۴ داشته باشند. در حال حاضر اکثر درایوها تنها از ۳ گزینه پشتیبانی میکنند: خاموش، آرام و سریع. این مقادیر در حال حاضر به ترتیب به ۰، ۱۲۸ و ۲۵۴ تخصیص داده شدهاند، اما فضای اعداد صحیح برای گسترشهای آینده در نظر گرفته شده است.
دریافت یا تنظیم فلگ "ignore_write_errors" در درایور. هرگز بدون مطالعه و درک عمیق کدهای منبع درایور با این گزینه کار نکنید.
دریافت یا تنظیم حداکثر تعداد قطاعهای قابل مشاهده، که بهعنوان تنظیم ناحیه حفاظت‌شده میزبان (Host Protected Area) نیز شناخته میشود. بدون پارامتر، -N تنظیم فعلی را نمایش میدهد که در قالب دو مقدار گزارش میشود: اولی حداکثر قطاعهای تنظیمی فعلی را نشان میدهد و دومی محدودیت واقعی (سختافزاری) دیسک را مشخص میسازد. تفاوت میان این دو مقدار نشان میدهد چه تعداد از قطاعهای دیسک در حال حاضر در قالب یک ناحیه حفاظت‌شده میزبان (HPA) از سیستم‌عامل پنهان شدهاند. این ناحیه اغلب توسط سازندگان رایانه برای نگهداری نرمافزارهای عیبیابی یا یک نسخه پشتیبان از سیستم‌عامل اولیه برای مقاصد بازیابی استفاده میشود. کاربرد دیگر پنهان کردن ظرفیت واقعی یک دیسک بسیار بزرگ از BIOS یا سیستمی است که نمیتواند با درایوهایی به آن اندازه کار کند (مثلاً بیشتر BIOSهای سال ۲۰۱۰ نمیتوانستند با درایوهای بزرگتر از ۲ ترابایت کار کنند، بنابراین یک HPA میتوانست برای معرفی یک درایو ۳ ترابایتی بهعنوان یک درایو ۲ ترابایتی به کار رود). برای تغییر حداکثر مقدار فعلی (بسیار خطرناک، نابودی دادهها فوقالعاده محتمل است)، مقدار جدید (در مبنای ۱۰) باید بلافاصله پس از گزینه -N مشخص شود. این مقدار به صورت تعداد قطاعها تعیین میشود نه «حداکثر آدرس قطاع» درایو. درایوها دارای مفهوم تنظیم موقت (فرار) هستند که در بازنشانی سختافزاری بعدی از بین میرود، و همچنین یک مقدار دائمیتر (غیرفرار) که در برابر بازنشانیها و خاموش/روشن شدن پایدار میماند. بهطور پیشفرض، -N تنها بر تنظیم موقت (فرار) اثر میگذارد. برای تغییر مقدار دائمی (غیرفرار)، حرف p را بلافاصله پیش از اولین رقم مقدار قرار دهید. درایوها معمولاً تنها یک بار تغییر دائمی در هر جلسه کاری را مجاز میدانند. برای موفقیتآمیز بودن یک عملیات دائمی -N دیگر، یک بازنشانی سختافزاری (خاموش و روشن کردن برق) الزامی است. توجه داشته باشید که هر تلاشی برای تنظیم این مقدار در صورتی که دیسک بهطور همزمان توسط نرمافزار دیگری مورد دسترسی باشد ممکن است با شکست مواجه شود؛ زیرا تنظیم این مقدار نیازمند دو دستور متوالی به درایو است و راهی برای جلوگیری از درج دستور دیگر میان آنها توسط هسته وجود ندارد. بنابراین اگر در ابتدا ناموفق بود، مجدداً تلاش کنید. پشتیبانی هسته از -N برای بسیاری از انواع کنترلرها در نگارشهای مختلف هسته با اشکالاتی همراه بوده است، به این صورت که مقدار حداکثر نادرست (بسیار کوچک) گزارش میشد. از نگارش 2.6.27 هسته، این قابلیت بالاخره روی بیشتر سختافزارها بهدرستی کار میکند.
اعمال آفست به اندازه گیبیبایت دادهشده (1024*1024*1024) هنگام اجرای زمانبندیهای -t برای خواندن از دستگاه. سرعت در طول دیسکهای مکانیکی متغیر است (تا حدود دو برابر). معمولاً بیشترین سرعت در ابتدای دیسک است، اما نه همیشه. درایوهای حالت جامد (SSD) باید صرفنظر از آفست، زمانبندیهای مشابهی نشان دهند.
تلاش برای برنامهریزی مجدد چیپست رابط IDE برای حالت PIO مشخصشده، یا تلاش برای تنظیم خودکار بهترین حالت PIO پشتیبانیشده توسط درایو. این ویژگی در هسته تنها برای چند چیپست شناختهشده پشتیبانی میشود و حتی در آن صورت نیز پشتیبانی نامطمئن است. برخی چیپستهای IDE قادر به تغییر حالت PIO برای یک درایو تکی نیستند که در این صورت ممکن است این گزینه باعث تغییر حالت PIO برای هر دو درایو شود. بسیاری از چیپستهای IDE از تعداد کمتر یا بیشتری نسبت به ۶ حالت استاندارد PIO (حالت‌های ۰ تا ۵) پشتیبانی میکنند، بنابراین تنظیم سرعت دقیقی که عملاً پیادهسازی میشود بسته به پیچیدگی چیپست و درایور متفاوت خواهد بود. با احتیاط بسیار زیاد استفاده شود! این ویژگی فاقد هرگونه محافظت در برابر اشتباهات است و نتیجه ناموفق ممکن است به خرابی شدید سیستمفایل منجر شود!
تنظیم حداکثر تعداد قطاعها برای مکانیسم پیشواکشی (prefetch) داخلی درایو. همه درایوها از این ویژگی پشتیبانی نمیکنند و این قابلیت از استاندارد رسمی ATA-4 به بعد حذف شد.
هنگام استفاده از پروتکل SAT (ترجمه دستورات SCSI ATA)، ابزار hdparm ترجیح میدهد در صورت امکان از قالب دستورات ۱۶ بایتی استفاده کند. اما برخی محفظههای درایو اکسترنال USB با دستورات ۱۶ بایتی بهدرستی کار نمیکنند. این گزینه میتواند برای اجبار به استفاده از قالب دستورات کوچکتر ۱۲ بایتی با چنین درایوهایی به کار رود. البته hdparm برای مواردی که با قالب ۱۲ بایتی قابل انجام نیستند (مانند دسترسی به قطاعهای فراتر از ۲۸ بیت) همچنان به دستورات ۱۶ بایتی بازمیگردد.
اجرای گزینه بعدی در حالت بیصدا، به طوری که خروجی عادی (اما نه پیامهای خطا) سرکوب میشود. این گزینه برای کاهش شلوغی صفحه هنگام اجرا از اسکریپتهای راهاندازی سیستم سودمند است. روی گزینههای -i، -v، -t یا -T قابل اعمال نیست.
دریافت یا تنظیم عمق صف دستورات (queue_depth) دستگاه، در صورت پشتیبانی توسط سختافزار. این قابلیت تنها با هستههای 2.6.xx (یا جدیدتر) و تنها با ترکیبهایی از دستگاه و درایور که از تغییر عمق صف پشتیبانی میکنند کار میکند. برای دیسکهای SATA، این همان عمق صفبندی بومی دستورات (NCQ) است.
دریافت یا تنظیم فلگ فقطخواندنی برای دستگاه. هنگامی که این پرچم تنظیم شود، لینوکس از عملیات نوشتن روی دستگاه جلوگیری به عمل میآورد.
دریافت یا تنظیم ویژگی بررسی پس از نوشتن (Write-Read-Verify)، در صورت پشتیبانی درایو. نحوه استفاده: -R0 (غیرفعال) یا -R1 (فعال). این ویژگی به این منظور در نظر گرفته شده که سفت‌افزار درایو بهطور خودکار هر داده نوشتهشده توسط نرمافزار را مجدداً بخواند تا از صحت نوشتن آن اطمینان حاصل کند. این عمل معمولاً نیازی نیست و میتواند سرعت نوشتن دیسک را تا نصف (یا حتی بیشتر) کاهش دهد.
خواندن از شماره قطاع مشخصشده و ریختن محتویات آن به صورت هگزادسیمال به خروجی استاندارد. شماره قطاع باید در مبنای ۱۰ پس از این گزینه ارائه شود. ابزار hdparm یک خواندن سطح پایین (با دور زدن کامل سازوکارهای متداول لایه بلوک) برای قطاع مشخصشده صادر میکند. این گزینه میتواند برای بررسی قطعی اینکه آیا یک قطاع معیوب است (خطای رسانه) یا خیر استفاده شود (بررسی از طریق سازوکارهای معمول گاهی خطای مثبت کاذب میدهد).
این یک نام مستعار برای گزینه --write-sector است. بسیار خطرناک.
فعال/غیرفعال کردن ویژگی روشنشدن در حالت آمادهبهکار (power-on in standby)، در صورت پشتیبانی درایو. بسیار خطرناک. از این گزینه استفاده نکنید مگر آنکه کاملاً مطمئن باشید هم BIOS (یا سفت‌افزار) سیستم و هم هسته سیستم‌عامل (لینوکس نگارش 2.6.22 یا بالاتر) از شناسایی درایوهایی که از این قابلیت استفاده میکنند پشتیبانی مینمایند. هنگامی که فعال باشد، درایو در حالت standby روشن میشود تا کنترلر بتواند شروع به گردش دستگاهها را به نوبت زمانبندی کند و بدین ترتیب بار مصرف جریان لحظهای هنگام اتصال درایوهای متعدد به یک منبع تغذیه کاهش یابد. این قابلیت اساساً در پیکربندیهای بزرگ RAID کاربرد دارد. این ویژگی معمولاً غیرفعال است و درایو در حالت active روشن میشود (به گزینه -C در بالا مراجعه کنید). توجه داشته باشید که ممکن است درایو اجازه فعالسازی این قابلیت را از طریق جامپر نیز بدهد. برخی درایوهای SATA از کنترل این ویژگی از طریق پایه ۱۱ کانکتور برق SATA پشتیبانی میکنند. در این شرایط، این دستور ممکن است پشتیبانی نشود یا بیتأثیر باشد.
قرار دادن درایو در حالت بیکار (کممصرف) و همچنین تنظیم مهلت زمانی آمادهبهکار (توقف چرخش یا spindown) برای درایو. این مقدار مهلت زمانی توسط درایو برای تعیین مدت زمان انتظار (بدون فعالیت دیسک) پیش از خاموش کردن موتور چرخش بهمنظور صرفهجویی در مصرف برق استفاده میشود. در چنین شرایطی، درایو ممکن است تا ۳۰ ثانیه برای پاسخگویی به دسترسی بعدی زمان نیاز داشته باشد، هرچند بیشتر درایوها بسیار سریعتر هستند. کدگذاری مقدار این مهلت تا حدی عجیب است: مقدار صفر به معنی «مهلتها غیرفعال هستند» میباشد؛ دستگاه بهطور خودکار وارد حالت standby نمیشود. مقادیر ۱ تا ۲۴۰ مضاربی از ۵ ثانیه را مشخص میکنند که مهلتهایی از ۵ ثانیه تا ۲۰ دقیقه را به دست میدهند. مقادیر ۲۴۱ تا ۲۵۱ بین ۱ تا ۱۱ واحد ۳۰ دقیقهای را تعیین میکنند که مهلتهایی از ۳۰ دقیقه تا ۵٫۵ ساعت را فراهم میآورند. مقدار ۲۵۲ نشاندهنده مهلت ۲۱ دقیقهای است. مقدار ۲۵۳ یک دوره زمانی تعریفشده توسط سازنده را بین ۸ تا ۱۲ ساعت تنظیم میکند و مقدار ۲۵۴ رزرو شده است. مقدار ۲۵۵ به صورت ۲۱ دقیقه و ۱۵ ثانیه تفسیر میشود. توجه داشته باشید که درایوهای قدیمیتر ممکن است تفاسیر کاملاً متفاوتی از این مقادیر داشته باشند.
برای درایوهایی که از بازپیکربندی اندازه قطاع منطقی (Logical Sector Size) پشتیبانی میکنند، این فلگ میتواند برای تعیین اندازه قطاع جدید مورد نظر به بایت استفاده شود. بسیار خطرناک. این کار به احتمال قوی تمامی دادههای روی درایو را تخریب و نابود میکند. اندازه مشخصشده باید یکی از مقادیر ۵۱۲، ۵۲۰، ۵۲۸، ۴۰۹۶، ۴۱۶۰ یا ۴۲۲۴ باشد. درایوهای بسیار معدودی از مقادیری بهجز ۵۱۲ و ۴۰۹۶ پشتیبانی میکنند. مثال: hdparm --set-sector-size 4096 /dev/sdb
انجام زمانبندی خواندن از دستگاه برای مقاصد محکزدن و مقایسه کارایی. برای دستیابی به نتایج معنادار، این عملیات باید ۲ تا ۳ بار بر روی یک سیستم آرام (بدون فرآیندهای فعال دیگر) با حداقل چند مگابایت حافظه آزاد تکرار شود. این گزینه سرعت خواندن از طریق بافر کش به دیسک را بدون کش شدن قبلی دادهها نشان میدهد. این اندازهگیری معیاری از سرعت پایداری است که درایو میتواند خواندن دادههای متوالی را تحت لینوکس و بدون هیچ سربار سیستمفایلی انجام دهد. برای اطمینان از سنجشهای دقیق، بافر کش در حین پردازش -t با استفاده از BLKFLSBUF ioctl تخلیه میشود.
انجام زمانبندی خواندن از حافظه کش برای مقاصد محکزدن و مقایسه کارایی. برای دستیابی به نتایج معنادار، این عملیات باید ۲ تا ۳ بار بر روی یک سیستم آرام (بدون پردازشهای فعال دیگر) با حداقل چند مگابایت حافظه آزاد تکرار شود. این گزینه سرعت خواندن مستقیم از بافر کش لینوکس را بدون دسترسی به دیسک نمایش میدهد. این سنجش اساساً معیاری از توان عملیاتی پردازنده، حافظه کش و رم سیستم مورد آزمایش است.
ویژه درایوهای حالت جامد (SSD). فوقالعاده خطرناک. هرگز از این گزینه استفاده نکنید!! به سفت‌افزار درایو دستور میدهد که قطاعهای دادههای ناموردنیاز را دور بریزد و هرگون داده موجود در آنها را نابود سازد. این کار سبب میشود آن قطاعها بلافاصله در دسترس سازوکار جمعآوری زباله (garbage collection) سفت‌افزار قرار گیرند تا زمانبندی برای یکنواختسازی سایش (wear-leveling) حافظه فلش بهبود یابد. این گزینه یک یا چند جفت محدوده قطاع را بلافاصله پس از گزینه میپذیرد: یک آدرس شروع LBA، یک دو نقطه (:) و تعداد قطاع (حداکثر ۶۵۵۳۵)، بدون هیچ فاصله اضافی. فوقالعاده خطرناک. از این گزینه استفاده نکنید!!
مثال: hdparm --trim-sector-ranges 1000:4 7894:16 /dev/sdz
مشابه گزینه --trim-sector-ranges در بالا، با این تفاوت که فهرست جفتهای lba:count به جای خط فرمان از ورودی استاندارد (stdin) خوانده میشود. این روش میتواند برای جلوگیری از مشکلات مربوط به خط فرمانهای بیش از حد طولانی به کار رود. همچنین امکان گروهبندی محدودههای قطاع بسیار بیشتری را در قالب یک دستور منفرد به درایو، تا سقف محدودیت انتقال فعلی (max_sectors_kb)، فراهم میآورد.
دریافت یا تنظیم فلگ ماسکزدایی از وقفه (interrupt-unmask) برای درایو. تنظیم مقدار 1 به درایور اجازه میدهد سایر وقفهها را در طول پردازش یک وقفه دیسک از حالت ماسک خارج کند، که این امر پاسخگویی لینوکس را به شدت افزایش داده و خطاهای «سرریز پورت سریال» را رفع میکند. از این ویژگی با احتیاط استفاده کنید: برخی ترکیبهای درایو و کنترلر تأخیرهای ورودی/خروجی فزاینده ناشی از فعال بودن این ویژگی را برنمیتابند که نتیجه آن تخریب گسترده سیستمفایل خواهد بود. بهویژه رابطهای (E)IDE مدل CMD-640B و RZ1000 هنگامی که این گزینه با نسخههای هسته قدیمیتر از 2.0.13 استفاده شود میتوانند بهدلیل یک نقص سختافزاری غیرقابل اعتماد باشند. غیرفعال کردن ویژگی IDE prefetch در این رابطها (معمولاً در تنظیمات BIOS/CMOS) راه‌حلی ایمن برای این مشکل در هستههای قدیمیتر بهشمار میرود.
نمایش برخی تنظیمات پایه، مشابه با -acdgkmur برای IDE. این همچنین رفتار پیشفرض در صورت عدم مشخص کردن گزینهها است.
نمایش نگارش برنامه و خروج فوری.
نمایش اطلاعات تشخیصی بیشتر برای برخی دستورات.
انجام بازنشانی سختافزاری دستگاه (خطرناک). از این گزینه استفاده نکنید. این گزینه برای شرایط بسیار نادری در نظر گرفته شده که در غیر این صورت راه‌اندازی مجدد کل سیستم (reboot) برای بازگرداندن یک درایو دچار اختلال به حالت قابل استفاده الزامی میبود.
نوشتن صفرها در شماره قطاع مشخصشده. بسیار خطرناک. شماره قطاع باید در مبنای ۱۰ پس از این گزینه مشخص شود. ابزار hdparm یک دستور نوشتن سطح پایین (با دور زدن کامل سازوکارهای لایه بلوک) برای قطاع مشخصشده صادر میکند. این ویژگی میتواند برای اجبار درایو به تعمیر یک قطاع خراب (خطای رسانه) استفاده شود.
دریافت یا تنظیم ویژگی کش نوشتن (write-caching) درایو IDE/SATA.
تنظیم حالت انتقال IDE برای درایوهای (E)IDE/ATA. این گزینه معمولاً در ترکیب با -d1 هنگام فعال کردن DMA برای یک درایو روی چیپست پشتیبانیشده استفاده میشود؛ جایی که -X mdma2 برای انتخاب انتقال در حالت Multiword DMA Mode 2 و -X sdma1 برای انتخاب انتقال در حالت ساده Mode 1 DMA به کار میرود. در سیستمهایی که از زمانبندیهای انفجاری UltraDMA پشتیبانی میکنند، -X udma2 برای انتخاب انتقال در حالت UltraDMA Mode 2 استفاده میشود (لازم است چیپست از قبل برای UltraDMA آماده شده باشد). صرفنظر از این موارد، استفاده از این گزینه به ندرت لازم است چرا که تقریباً تمام درایوهای IDE مدرن هنگام روشن شدن بهطور پیشفرض روی سریعترین حالت انتقال PIO خود قرار میگیرند. دستکاری این موارد میتواند بیهوده و پرخطر باشد. در درایوهایی که از حالتهای انتقال جایگزین پشتیبانی میکنند، -X تنها برای تغییر حالت خود درایو به کار میرود. پیش از تغییر حالت انتقال، رابط IDE باید برای تنظیم حالت جدید با جامپر یا برنامهریزی (به گزینه -p مراجعه کنید) آماده شود تا از نابودی یا تخریب دادهها جلوگیری به عمل آید. با احتیاط بسیار زیاد استفاده شود! برای حالتهای انتقال PIO (ورودی/خروجی برنامهریزیشده) که توسط لینوکس به کار میروند، این مقدار به سادگی شماره حالت PIO مورد نظر بهعلاوه ۸ است. بنابراین، مقدار 09 حالت PIO 1 را تعیین میکند، 10 حالت PIO 2 را فعال میسازد، و 11 حالت PIO 3 را برمیگزیند. تنظیم 00 حالت پیشفرض PIO درایو را بازمیگرداند و 01 ویژگی IORDY را غیرفعال میکند. برای Multiword DMA، مقدار مورد استفاده برابر با شماره حالت DMA مورد نظر بهعلاوه ۳۲ است. برای UltraDMA، این مقدار برابر با شماره حالت UltraDMA بهعلاوه ۶۴ میباشد.
اجبار یک درایو IDE به ورود فوری به حالت کممصرف standby، که معمولاً موجب توقف گردش دیسک میشود. وضعیت فعلی حالت مصرف برق را میتوان با استفاده از گزینه -C بررسی کرد.
اجبار یک درایو IDE به ورود فوری به کممصرفترین حالت یعنی sleep، که باعث خاموش شدن کامل آن میشود. پیش از دسترسی مجدد به درایو، یک بازنشانی سختافزاری یا نرمافزاری لازم است (درایور IDE لینوکس در صورت نیاز صدور بازنشانی را به صورت خودکار مدیریت خواهد کرد). وضعیت فعلی حالت مصرف برق را میتوان با استفاده از گزینه -C بررسی کرد.
اجبار هسته به بازخوانی مجدد جدول پارتیشن دستگاه(های) مشخصشده.
غیرفعال کردن ویژگی صرفهجویی خودکار در مصرف انرژی برخی درایوهای سیگیت (مدلهای ST3xxx؟)، جهت جلوگیری از بیکار شدن یا توقف گردش آنها در زمانهای نامناسب.

این گزینهها برای آزمایش خطرناک هستند و ممکن است با برخی هستهها کار نکنند. مسئولیت استفاده بر عهده خودتان است.

نمایش اطلاعات خلاصه نحوه استفاده برای تمامی گزینههای --security-*.
منجمد کردن تنظیمات امنیتی درایو. درایو تا زمان بازنشانی و روشن شدن بعدی هیچ دستور امنیتی را نمیپذیرد. از این تابع در ترکیب با --security-unlock برای محافظت از درایو در برابر هرگونه تلاش جهت تعیین گذرواژه جدید استفاده کنید. همچنین میتواند به تنهایی به کار رود. هیچ گزینه دیگری در خط فرمان همراه با این گزینه مجاز نیست.
درخواست گذرواژه --security به جای دریافت آن از آرگومانهای خط فرمان. این کار از نمایش گذرواژهها در تاریخچه پوسته یا در مسیر proc/self/cmdline / هنگام اجرا جلوگیری میکند.
باز کردن قفل درایو با استفاده از گذرواژه PWD. گذرواژه به صورت یک رشته ASCII دریافت شده و با نویسههای NUL پر میشود تا به ۳۲ بایت برسد. گذرواژه مربوطه درایو با سوییچ --user-master انتخاب میشود (پیشفرض گذرواژه "user" است). هیچ گزینه دیگری در خط فرمان همراه با این گزینه مجاز نیست.
قفل کردن درایو با استفاده از گذرواژه PWD (تنظیم گذرواژه) (خطرناک). گذرواژه به صورت یک رشته ASCII دریافت شده و با نویسههای NUL پر میشود تا به ۳۲ بایت برسد. از گذرواژه ویژه NULL برای تنظیم یک گذرواژه خالی استفاده کنید. گذرواژه مربوطه درایو با سوییچ --user-master (پیشفرض گذرواژه "user") و حالت امنیتی مربوطه با سوییچ --security-mode انتخاب میشود. هیچ گزینه دیگری در خط فرمان همراه با این گزینه مجاز نیست.
غیرفعال کردن قفل درایو با استفاده از گذرواژه PWD. گذرواژه به صورت یک رشته ASCII دریافت شده و با نویسههای NUL پر میشود تا به ۳۲ بایت برسد. گذرواژه مربوطه درایو با سوییچ --user-master انتخاب میشود (پیشفرض گذرواژه "user" است). هیچ گزینه دیگری در خط فرمان همراه با این گزینه مجاز نیست.
پاکسازی درایو (قفلشده) با استفاده از گذرواژه PWD (خطرناک). گذرواژه به صورت یک رشته ASCII دریافت شده و با نویسههای NUL پر میشود تا به ۳۲ بایت برسد. از گذرواژه ویژه NULL برای نشان دادن یک گذرواژه خالی استفاده کنید. گذرواژه مربوطه درایو با سوییچ --user-master انتخاب میشود (پیشفرض گذرواژه "user" است). هیچ گزینه دیگری در خط فرمان همراه با این گزینه مجاز نیست.
پاکسازی پیشرفته درایو (قفلشده) با استفاده از گذرواژه PWD (خطرناک). گذرواژه به صورت یک رشته ASCII دریافت شده و با نویسههای NUL پر میشود تا به ۳۲ بایت برسد. گذرواژه مربوطه درایو با سوییچ --user-master انتخاب میشود (پیشفرض گذرواژه "user" است). هیچ گزینه دیگری در خط فرمان همراه با این گزینه مجاز نیست.
مشخص میکند کدام گذرواژه (کاربر/ارشد یا user/master) انتخاب شود. پیشفرض گذرواژه user است. تنها در ترکیب با --security-unlock، --security-set-pass، --security-disable، --security-erase یا --security-erase-enhanced کاربرد دارد.
u       گذرواژه کاربر (user password)
m       گذرواژه اصلی/ارشد (master password)
مشخص میکند کدام حالت امنیتی (بالا/حداکثر یا high/maximum) تنظیم شود. پیشفرض حالت بالا (high) است. تنها در ترکیب با --security-set-pass کاربرد دارد.
h       امنیت بالا (high security)
m       حداکثر امنیت (maximum security)

این ویژگی آزمایشی است و بهخوبی آزموده نشده است. با مسئولیت خود استفاده کنید.

/etc/hdparm.conf

همانطور که در بالا اشاره شد، گزینههای -m sectcount و -u 1 در ابتدا باید با احتیاط و ترجیحاً روی یک سیستمفایل فقطخواندنی استفاده شوند. بیشتر درایوها با این ویژگیها بهخوبی کار میکنند، اما برخی ترکیبهای درایو/کنترلر ۱۰۰٪ سازگار نیستند. ممکن است تخریب سیستمفایل رخ دهد. پیش از آزمایش از تمام دادهها نسخه پشتیبان تهیه کنید!

برخی گزینهها (مانند -r برای SCSI) ممکن است با هستههای قدیمی کار نکنند چرا که فراخوانهای ioctl() لازم پشتیبانی نمیشدند.

اگرچه این ابزار اساساً برای استفاده با دیسکهای سخت SATA/IDE طراحی شده است، چندین گزینه نیز برای استفاده با دیسکهای سخت SCSI و دیسکهای سخت MFM/RLL با رابطهای XT معتبر (و مجاز) هستند.

هسته لینوکس تا نسخه 2.6.12 (و احتمالاً پس از آن) دستورات security unlock و disable را بهخوبی مدیریت نمیکند و دچار خطای حافظه (segfault) و در برخی موارد حتی از کار افتادگی کامل هسته (panic) میشود. با این حال دستورات امنیتی ممکن است واقعاً توسط درایو اجرا شده باشند. این رفتار ضعیف هسته سبب میشود دستورات دادهای امنیتی PIO در حال حاضر چندان قابل استفاده نباشند.

توجه داشته باشید که دستورات "security erase" و "security disable" به صورت دو دستور متوالی دادهای PIO پیادهسازی شدهاند و روی یک درایو قفلشده موفق نخواهند شد زیرا دستور دوم پس از بروز خطای segfault صادر نمیشود. برای راهنمایی در مورد نحوه وصله کردن کد جهت دور زدن این مشکل به کدهای برنامه مراجعه کنید. با وجود خطای segfault، اغلب هنوز ممکن است دو نمونه از hdparm را به صورت متوالی اجرا کرد و دو دستور لازم را از آن طریق فرستاد.

دستور hdparm توسط Mark Lord <mlord@pobox.com>، توسعهدهنده و نگهدارنده اصلی اولیه درایور (E)IDE برای لینوکس و مشارکتکننده فعلی زیرسیستم libata، همراه با پیشنهادها و وصلههایی از افراد متعدد نوشته شده است.

کد غیرفعالسازی صرفهجویی خودکار توان در درایوهای سیگیت با تشکر از Tomi Leppikangas (tomilepp@paju.oulu.fi) اضافه شده است.

دستور انجماد امنیتی (security freeze) توسط Benjamin Benz در سال ۲۰۰۵ اضافه شد.

دستورات امنیتی خروجی دادهای PIO توسط Leonard den Ottolander در سال ۲۰۰۵ توسعه یافت. سایر بخشها توسط Benjamin Benz و دیگران پیادهسازی شدهاند.

http://www.t13.org کمیته فنی T13 برای رابط اتصال AT (ATA/ATAPI).

http://www.serialata.org سازمان بینالمللی Serial ATA.

http://www.compactflash.org انجمن CompactFlash.

مه ۲۰۲۵ hdparm