Acabei de receber meu novo SSD desde que o antigo morreu. Este Intel 320 SSD suporta TRIM. Para fins de teste, meu revendedor colocou o Windows nele, mas eu quero me livrar disso e instalar o Kubuntu nele.
Não precisa ser uma "limpeza segura", só preciso esvaziar o disco da maneira mais saudável. Acredito que dd if=/dev/zero of=/dev/sda
apenas preencha os blocos com zeros e, assim, faça outra gravação (corrija-me se estiver errado).
Eu já vi a resposta Como ativar o TRIM , mas parece que é adequado para limpar blocos vazios, sem limpar o disco.
hdparm
parece ser o programa para fazer isso, mas não tenho certeza se ele limpa o disco OU limpa blocos vazios. Na sua página de manual:
--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
Como posso fazer com que todos os blocos pareçam vazios usando o TRIM?
sudo dd if=/dev/sda iflag=direct bs=512 skip=<some_sectors> count=32 | hexdump -C
, excluir a partição NTFS usando uma versão recente do Gparted e verificar novamente com o mesmo comando - se os dados forem limpos, você verá zeros.hexdump -C /sda1
ehexdump -C /sda1
para determinar o bloco de partida. Boa ideia embora.Respostas:
ATA Secure Erase
Você deve usar o recurso de exclusão de segurança da unidade .
Verifique se a segurança da unidade não está congelada . Se for, pode ajudar a suspender e reiniciar o computador.
A saída do comando (filtrado) significa que esta unidade "não está congelada" e você pode continuar.
Defina uma senha de usuário (essa senha também é limpa, a escolha exata não importa).
Emita o comando ATA Secure Erase
Nota:
/dev/sdX
é o SSD como um dispositivo de bloco que você deseja apagar.Eins
é a senha escolhida neste exemplo.Consulte o artigo ATA Secure Erase no wiki do kernel do Linux para obter instruções completas, incluindo a solução de problemas.
fonte
O util-linux 2.23 oferece
blkdiscard
que descarta dados sem limpá-los com segurança. Eu testei: funciona com SATA e mmcblk, mas não com USB.Um trecho da página de manual de
blkdiscard(8)
:O comando existe desde o Ubuntu 15.04 e o OpenSUSE 13.1 (sim, o OpenSUSE possui 2 anos à frente do Ubuntu).
fonte
blkdiscard
e ohdparm
comando, ele é respondido aqui : "Quando você usa blkdiscard, o SSD (assumindo um SSD SATA) receberá um comando ATA TRIM, enquanto hdparm --security-erase emitirá um ATA SECURITY ERASE Comando UNIT. O que a unidade realmente faz depende dos detalhes de implementação do firmware desse SSD específico ".blkdiscard
. Primeiro, o objetivo é informar à unidade que partes específicas dela podem ser jogadas fora, não para limpar tudo. A unidade pode ou não apagar os dados. O comando secure erase deve apagar todos os dados, incluindo todos os dados que estão em partes da unidade que não estão acessíveis no momento. Editar: basta reler a pergunta e perceber que ela não exige apagamento, mas ainda vale a pena notar.Se você não precisa de uma limpeza segura, por que não instala o kubuntu usando as opções para 'usar o disco inteiro' e o equivalente a 'formatação rápida' (não se lembra da terminologia exata agora)
Dessa forma, você abandona a tabela de alocação de arquivos e a unidade é efetivamente esvaziada para substituição. Você realmente não precisa esvaziá-lo.
fonte
mkfs.ext4(8)
diz: descartar - tentativa de descartar blocos no tempo mkfs (descartar blocos inicialmente é útil em dispositivos de estado sólido e armazenamento esparso / thin-provisioned). Quando o dispositivo anuncia que o descarte também zera os dados (qualquer leitura subsequente após o descarte e antes da gravação retorna zero), marque todas as tabelas de inodes ainda não zeradas como zeradas. Isso acelera significativamente a inicialização do sistema de arquivos. Isso está definido como padrão.Se a unidade tiver um arquivo Linux, você poderá usá-lo
fstrim
. Por padrão, o Ubuntu recente rodafstrim
em unidades dos seguintes fornecedores:Uma vez por semana.
Portanto, uma resposta para sua pergunta é inicializar o sistema e esperar uma semana!
fonte
sudo fstrim /
(onde/
é um ponto de montagem de um sistema de arquivos que suporta adiscard
opção).Basta remover a partição, não é necessário limpar o disco inteiro, os dados antigos serão substituídos quando o armazenamento for necessário para outra coisa.
Para ativar o TRIM:
Altere "erros ext4 = remontar-ro 0" em "descarte ext4, erros = remontar-ro 0". (Adicionar descarte)
Salvar e reiniciar, o TRIM agora deve estar ativado.
Verifique se o TRIM está ativado:
Use o primeiro endereço begin_LBA.
Agora, ele deve retornar números e caracteres. Remova o arquivo e sincronize.
Agora, execute o seguinte comando novamente. Se retornar zeros, o TRIM está ativado.
fonte