Каков рекомендуемый способ очистки SSD?

Я только что получил свой новый SSD, так как старый умер. Этот Intel 320 SSD поддерживает TRIM. В целях тестирования мой дилер установил на него Windows, но я хочу избавиться от этого и установить на него Kubuntu.

Это не должно быть «безопасным стиранием», мне просто нужно очистить диск самым здоровым способом. Я считаю, что dd if=/dev/zero of=/dev/sda просто заполняет блоки нулями и, таким образом, делает еще одну запись (поправьте меня, если я ошибаюсь).

Я видел ответ Как включить TRIM , но похоже, что он подходит для очистки пустых блоков, а не очистки диска.

hdparm, кажется, программа для этого, но я не уверен, очищает ли он диск ИЛИ очищает пустые блоки. Со страницы руководства:

  --trim-sector-ranges
          For  Solid State Drives (SSDs).  EXCEPTIONALLY DANGEROUS. DO NOT
          USE THIS OPTION!!  Tells the drive firmware to discard  unneeded
          data  sectors,  destroying  any  data that may have been present
          within them.  This makes those sectors available  for  immediate
          use  by  the firmware's garbage collection mechanism, to improve
          scheduling for wear-leveling of the flash  media.   This  option
          expects  one  or  more  sector range pairs immediately after the
          option: an LBA starting address, a colon, and  a  sector  count,
          with no intervening spaces.  EXCEPTIONALLY DANGEROUS. DO NOT USE
          THIS OPTION!!
          E.g.  hdparm --trim-sector-ranges 1000:4 7894:16 /dev/sdz

Как сделать так, чтобы все блоки выглядели пустыми при использовании TRIM?

53
задан 8 June 2017 в 19:19

5 ответов

ATA Secure Erase

Вы должны использовать функцию безопасного стирания диска .

  1. Убедитесь, что защита диска не заблокирована . Если это так, это может помочь приостановить и возобновить работу компьютера.

    $ sudo hdparm -I /dev/sdX | grep frozen
           not     frozen 
    

    (отфильтрованный) вывод команды означает, что этот диск «не заморожен», и вы можете продолжить.

  2. Установите пароль пользователя (этот пароль также очищается, точный выбор не имеет значения).

    sudo hdparm --user-master u --security-set-pass Eins /dev/sdX
    
  3. Выполнить команду безопасного стирания ATA

    sudo hdparm --user-master u --security-erase Eins /dev/sdX
    

Примечание:

  • /dev/sdX - это SSD как блочное устройство, которое вы хотите стереть.
  • Eins - пароль, выбранный в этом примере.

См. Статью ATA Secure Erase в вики ядра Linux для получения подробных инструкций, включая устранение неполадок.

0
ответ дан 8 June 2017 в 19:19

util-linux 2.23 предлагает blkdiscard, который отбрасывает данные без их безопасного удаления. Я тестировал: работает через SATA и mmcblk, но не через USB.

Отрывок из страницы руководства blkdiscard(8):

ИМЯ

blkdiscard - сбросить секторы на устройстве

СИНТАКСИС

blkdiscard [-o offset] [-l length] [-s] [-v] device

ОПИСАНИЕ

blkdiscard используется для сброса секторов устройства. Это полезно для твердотельных драйверов (SSD) и хранилищ с тонким предоставлением. В отличие от fstrim (8) эта команда используется непосредственно на блочном устройстве.

По умолчанию blkdiscard удаляет все блоки на устройстве. Параметры могут использоваться для изменения этого поведения в зависимости от диапазона или размера, как описано ниже.

Аргументом устройства является имя пути блочного устройства.

ВНИМАНИЕ: Все данные в удаленной области на устройстве будут потеряны!

Команда существует с Ubuntu 15.04 и OpenSUSE 13.1 (да, в OpenSUSE она есть 2 годы впереди Ubuntu).

0
ответ дан 8 June 2017 в 19:19

Если вам не нужна безопасная очистка, почему бы вам просто не установить kubuntu, используя опции «использовать весь диск» и эквивалент «быстрого форматирования» (сейчас не могу вспомнить точную терминологию) [ 110]

Таким образом вы отбрасываете таблицу размещения файлов, и накопитель эффективно очищается для перезаписи. Вам на самом деле не нужно очищать его.

0
ответ дан 8 June 2017 в 19:19

Просто удалите раздел, вам не нужно очищать весь диск, старые данные будут перезаписаны, когда хранилище потребуется для чего-то еще.

Чтобы включить TRIM:

gksudo gedit /etc/fstab

Заменить «ext4 errors = remount-ro 0» на «ext4 discard, errors = remount-ro 0». (Добавьте сброс)

Сохраните и перезагрузите компьютер, теперь TRIM должен быть включен.

Проверьте, включен ли TRIM:

sudo -i
dd if=/dev/urandom of=tempfile count=100 bs=512k oflag=direct
hdparm --fibmap tempfile

Используйте первый адрес begin_LBA.

hdparm --read-sector [begin_LBA] /dev/sda

Теперь он должен возвращать цифры и символы. Удалить файл и синхронизировать.

rm tempfile
sync

Теперь снова выполните следующую команду. Если он возвращает нули, TRIM включен.

hdparm --read-sector [begin_LBA] /dev/sda
0
ответ дан 8 June 2017 в 19:19

Если на диске есть файловый элемент Linux, вы можете использовать fstrim. По умолчанию последняя версия Ubuntu запускает fstrim на дисках от следующих поставщиков:

    if [ -z "$NO_MODEL_CHECK" ]; then
        if ! contains "$HDPARM" "Intel" && \
           ! contains "$HDPARM" "INTEL" && \
           ! contains "$HDPARM" "Samsung" && \
           ! contains "$HDPARM" "SAMSUNG" && \
           ! contains "$HDPARM" "OCZ" && \
           ! contains "$HDPARM" "SanDisk" && \
           ! contains "$HDPARM" "Patriot"; then
            #echo "device $DEV is not a drive that is known-safe for trimming"
            continue

Раз в неделю.

Итак, один ответ на ваш вопрос - загрузите систему и подождите неделю!

0
ответ дан 8 June 2017 в 19:19

Другие вопросы по тегам:

Похожие вопросы: