При спробі надійно стерти SSD, ми маємо кілька проблем:
- SSD зношуються після обмеженої кількості циклів стирання
- SSD мають контролер, який динамічно відображає LBA (адреси логічних блоків, використовувані системою для доступу до диска), на комірки NVRAM (фактичні осередки флеш-пам’яті), щоб збалансувати знос, що означає сказати диску перезаписати блоки, які раніше зберігали певний файл може призвести до перезапису будь-яких інших запасних блоків.
- SSD мають помітний відсоток резервної ємності, який використовується для компенсації відмираючих клітин зберігання та зменшення зносу. Вони не видно системі та можуть містити старі фрагменти даних.
Тепер які варіанти у нас є зсередини Ubuntu, щоб безпечно стерти SSD?
Я чув, що деякі нові SSD-диски повинні бути в змозі безпечно стерти себе, але як я можу дізнатися, чи здатний мій SSD на це і як би його запустити?
Також повинна бути команда ATA із захищеним стиранням, як я можу дізнатись, чи підтримується це, і як би це зробити?
Чи є також способи надійно витерти лише заданий файл або лише невикористаний простір?
Я думаю, що зробити резервну копію всіх розділів, надійно витерти весь диск, а потім відновити резервну копію було б можливо, але це звучить занадто складно і зайняло б занадто багато часу, щоб бути практичним. Чи є інші альтернативи? Якщо ні, то які інструменти можна використовувати для резервного копіювання розділів, не створюючи резервного копіювання вже видалених файлів?
Звичайно, стандартні інструменти на кшталт описаних вище пунктів подобаються shred
або wipe
не використовуються. Вони просто перезаписують файл aa (перезаписуючи його кластери файлової системи, які пов'язані з LBA, які не постійно вказують на одні і ті ж флеш-комірки через контролер вирівнювання зносу).