How to turn off hard drive in Ubuntu?
I am running Kubuntu from External Hard Drive. My Internal Hard Drive has Windows on it. I don’t want to use it while on Ubuntu and want to turn it off to produce less heat as well consume lower battery. I think spinning down hard drive isn’t an option for me. Because, it wear out the hard drive and I don’t plan to spend on HDD’s 🙂
@GuilhemSoulas My question is not about spinning down hard drive. Mine is how to turn off hard drive.
3 Answers 3
where /dev/sdX is the device you’d like to turn off. You can also run sudo blkid to determine the device’s ‘fingerprint’ (UUID), which would allow you to more reliably control which device is being turned off.
sudo hdparm -Y /dev/disk/by-uuid/DEVICE-IDENT-HERE
man hdparm
-Y Force an IDE drive to immediately enter the lowest power consumption sleep mode, causing it to shut down completely. A hard or soft reset is required before the drive can be accessed again (the Linux IDE driver will automatically handle issuing a reset if/when needed). The current power mode status can be checked using the -C option.
This command did turn off the hard disk drive, but running sudo hdparm -C /dev/sdX to query the status will turn on the drive again then goes to stand by (a soft reset, I guess). Does the job for power saving, but not for simulating installation without the hard disk drive.
You likely have the udisks2 package installed; you can use
udisksctl power-off -b /dev/sdX
where /dev/sdX is the device you’d like to turn off.
From udisksctl man page (version 2.7.6):
power-off Arranges for the drive to be safely removed and powered off. On the OS side this includes ensuring that no process is using the drive, then requesting that in-flight buffers and caches are committed to stable storage. The exact steps for powering off the drive depends on the drive itself and the interconnect used. For drives connected through USB, the effect is that the USB device will be deconfigured followed by disabling the upstream hub port it is connected to. Note that as some physical devices contain multiple drives (for example 4-in-1 flash card reader USB devices) powering off one drive may affect other drives. As such there are not a lot of guarantees associated with performing this action. Usually the effect is that the drive disappears as if it was unplugged.
Как отключить диск?
У меня в ноуте два винча — sda и sdb, причем второй используется только в венде. Я хочу чтоб линукс его парковал сразу после загрузки, отключил от него питание и вообще забыл про его существование.
Ну короче надо максимально сохранить энергию при том что винчестер заведомо не будет использоваться.
Только тумблер, только хардкор!
Не забудет, но остановит до первого обращения.
Там есть такая веселая опция:
-Y Force an IDE drive to immediately enter the lowest power con‐ sumption sleep mode, causing it to shut down completely. A hard or soft reset is required before the drive can be accessed again (the Linux IDE driver will automatically handle issuing a reset if/when needed). The current power mode status can be checked using the -C option.
Ну так это максимально сохраняет энергию, если винт не будет использоваться. Еще можно удалить /dev/hdb, чтобы даже желания не возникало, но зачем?
Да не, никакой особой причины. Просто странно, получается что опции -y и -Y делают одно и то же.
А в dmesg при этом что пишется?
Да, походу диск засыпает как надо. Если потом пытаться проверить его состояние, его для этого зачем-то будят:
kernel: ata2.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x6 kernel: ata2.00: waking up from sleep kernel: ata2: hard resetting link kernel: ata2: SATA link up 3.0 Gbps (SStatus 123 SControl 300) kernel: ata2.00: ACPI cmd 00/00:00:00:00:00:a0 (unknown) rejected by device (Stat=0x51 Err=0x04) kernel: ata2.00: ACPI cmd 00/00:00:00:00:00:a0 (unknown) rejected by device (Stat=0x51 Err=0x04) kernel: ata2.00: configured for UDMA/133
Проблема только в том, что и во время загрузки его тоже зачем-то будят. Я добавил systemd юнит который глушит диск при старте, но похоже что когда исполняется
systemd[1]: Starting Remount Root and Kernel File Systems.
Команда hdparm linux
Утилита hdparm позволяет устанавливать и просматривать различные параметры жестких дисков HDD в Linux. Она работает только в командной строке и предоставляет доступ к настройкам кэша диска, режима сна, энергопотребления, уровня его производительности, шума, а также DMA. Возможности этой утилиты используются в GParted.
Изменение стандартных значений для некоторых параметров может очень сильно увеличить производительность диска, однако на данный момент нет точного способа определить оптимальные значения. Это можно сделать только путём проб и ошибок. В этой небольшой статье мы разберемся как работает команда hdparm linux, а также что с помощью неё можно сделать.
Синтаксис команды hdparm
Синтаксис hdparm Linux очень похож на другие подобные команды:
$ hdparm опция значение /dev/имя_файла_диска
Если опцию передать без значения, то как правило, она просто выводит текущее значения параметра, если передать значение, то оно устанавливается вместо старого. Давайте сначала рассмотрим основные опции утилиты, которые мы будем сегодня использовать:
- -a — позволяет включить режим read-ahead, когда чтение выполняется в первую очередь. Этот режим позволяет улучшить производительность чтения больших объемов данных;
- -A — позволяет включить режим read-look-ahead, когда диск просматривается перед чтением. По умолчанию включена;
- -b — остановить жесткий диск до следующего к нему обращения;
- -B — настройка управления питанием Advanced Power Management (APM), чем ниже значение, тем лучше энергосбережение. Чтобы отключить режим полностью установите значение в 255.
- -c — включает 32-битный режим передачи для IDE;
- -C — позволяет посмотреть текущий режим питания IDE;
- -d — включает режим DMA;
- -D — включает обнаружение дефектных областей на диске;
- -E — позволяет установить скорость для CD/DVD привода;
- -f — позволяет записать кэш диска на носитель;
- -i — выводит информацию о диске;
- -I — тоже выводит информацию о диске, но в более подробной форме;
- -m — позволяет указать количество секторов для многосекторного ввода/вывода. Чтобы отключить эту опцию установите её в 0;
- -M — позволяет управлять уровнем шума диска с помощью Automatic Acoustic Management (AAM);
- -n — позволяет включить флаг ignore write errors для игнорирования ошибок записи;
- -r — включает флаг read only. После этого с устройства можно только читать данные, но не записывать;
- -S — устанавливает время неактивности диска для перехода его в режим сна. Если установлено в 0, то диск сразу же отключается;
- -T — выполняет тест скорости чтения из кэша;
- -t — выполняет тест скорости чтения с диска без кэширования;
- -v — выводит все настройки;
- -w — выполняет сброс диска;
- -W — включает или отключает кэш для записи данных на IDE;
- -y — переводит IDE диск в режим низкого энергопотребления, замедляя скорость вращения диска;
- -Y — переводит IDE диск в режим низкого энергопотребления останавливая его;
- -z — просит ядро перечитать таблицу разделов для этого диска;
- -Z — отключает режим энергосбережения диска.
Установка hdparm
Если утилита ещё не установлена в вашей операционной системе, то её можно установить из официальных репозиториев дистрибутива. Например, для установки hdparm Ubuntu / Debian / Linux Mint выполните:
Примеры команды hdparm
И так программу установили, можно и к действиям переходить. Давайте сначала посмотрим информацию о диске с помощью опции -i:
Теперь смотрим более расширенную информацию опцией -I:
Чтобы посмотреть текущие настройки для различных флагов диска используйте опцию -v:
Для теста скорости работы диска с кэшем используйте опцию -T:
Чтобы остановить вращение мотора диска до следующего к нему обращения выполните:
После включения этой опции диск перейдет в режим сна сразу же через пять секунд после завершения операций с ним. Если же вы хотите уменьшить энергопотребление вашего устройства предыдущая команда не совсем подходит. Для этого существует функция управления питанием:
Замедляет обороты диска если к нему не обращались на протяжении определенного времени, доступны значения от нуля до 255, 120 примерно среднее значение.
Разберемся подробнее с опцией -S. Она позволяет останавливает двигатель диска после время бездействия:
Можно также использовать числа в диапазоне от 1 до 255. Значения от единицы до 240 означают время в секундах умноженное на 5. Таким образом можно рассчитать время ожидания от 5 секунд до двадцати минут. Значения от 241 до 251 рассчитывается уже умножением на 30 минут, таким образом можно получить время от тридцати минут до пяти с половиной часов.
Чтобы уменьшить уровень шума от диска можно ещё воспользоваться опцией -M. Она принимает значения от 128 что означает более тихую работу и до 254, которое означает более высокую производительность. Попросим диск работать как можно тише:
Выводы
В этой статье мы рассмотрели как пользоваться hdparm для настройки диска в Linux. Всё выглядит сложным, но зато вы можете немного повысить производительность своего диска, снизить его энергопотребление или шум.
Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.