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

47

Я только что получил свой новый 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?

    
задан Lekensteyn 12.05.2011 в 16:01
источник

5 ответов

44

Безопасное удаление ATA

Вы должны использовать стирание безопасности на диске.

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

    # hdparm -I /dev/sdX
    
    [...]
    
    Security: 
           Master password revision code = 65534
                   supported
           not     enabled
           not     locked
           not     frozen <-------------------- This drive is not frozen, continue.
           not     expired: security count
                   supported: enhanced erase
           2min for SECURITY ERASE UNIT. 2min for ENHANCED SECURITY ERASE UNIT.
    
  2. Установить пароль пользователя (этот пароль также очищается, точный выбор не имеет значения).

    hdparm --user-master u --security-set-pass Eins /dev/sdX
    
  3. Выдать команду ATA Secure Erase

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

Примечание:

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

См. ссылку выше для получения полных инструкций, включая поиск и устранение неисправностей.

    
ответ дан psusi 12.05.2011 в 17:10
источник
22

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

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

  

NAME

     

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

     

СИНТАКСИС

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

ОПИСАНИЕ

     

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

     

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

     

Аргумент устройства - это путь к блочному устройству.

     

ПРЕДУПРЕЖДЕНИЕ: все данные в отброшенной области на устройстве будут потеряны!

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

    
ответ дан Peer Gynt 30.09.2013 в 11:05
5

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

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

    
ответ дан Rory Alsop 12.05.2011 в 17:47
0

Если на диске есть файловая система 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

Один раз в неделю.

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

    
ответ дан Bryce 05.12.2014 в 08:53
-4

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

Чтобы включить 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
    
ответ дан Alex 12.05.2011 в 17:04