Comando Linux para ver outras unidades / partições no computador a partir do live CD

2

O computador do meu amigo travou porque o sistema de arquivos está corrompido. No entanto, ela precisa de arquivos do sistema, portanto, uma reinstalação não funcionaria, pois ainda é possível recuperar os arquivos.

Minha abordagem para resolver esse problema seria inicializar uma versão viva do Helix (uma distribuição do Ubuntu) de um USB, executar o comando dd para bloquear a cópia da partição do Windows para uma unidade externa e, em seguida, usar tudo para recuperar tanto quanto pudermos.

De qualquer forma, estou tentando encontrar o comando na internet, mas sem sucesso. Alguém sabe o comando para ver todas as partições na unidade? Lembre-se de que estou tentando visualizá-lo em um CD do Live Helix.

    
por robjob27 08.02.2015 / 23:47

1 resposta

1

A resposta curta? O Linux - por si só - pode ser usado para fazer o que você está tentando fazer. O comando mais básico para listar dispositivos e partições em nível de bloco é lsblk , mas você também pode interpretar a saída de cat /proc/partitions se você não tiver lsblk instalado. Mas talvez você precise procurar um CD ao vivo apropriado para esses fins. Este Live CD do Runtime parece que funciona bem. Idem com este CD do Ubuntu Rescue Remix . Mas se você conectar a própria unidade a uma configuração real do Linux.

A resposta mais longa? Eu escrevi esta longa explicação sobre como detectar dispositivos conectados em nível de bloco e montá-los para o caso de você - ou outra pessoa - querer seguir esse caminho. Eu sinto que é sempre melhor saber como as porcas e parafusos básicas de como um sistema funciona ao lidar com coisas são potencialmente complicadas como a recuperação de dados.

Então eu acredito que o comando básico do Linux / Unix que você está procurando é ver todas as parições em um dispositivo lsblk ; dispositivos de bloco de lista. Por exemplo, esta é a saída de lsblk em uma máquina virtual Ubuntu Linux que eu uso para desenvolvimento e teste:

NAME                          MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda                             8:0    0    32G  0 disk 
├─sda1                          8:1    0   243M  0 part /boot
├─sda2                          8:2    0     1K  0 part 
└─sda5                          8:5    0  31.8G  0 part 
  ├─sandbox--vg-root (dm-0)   252:0    0  27.8G  0 lvm  /
  └─sandbox--vg-swap_1 (dm-1) 252:1    0     4G  0 lvm  [SWAP]
sr0                            11:0    1  1024M  0 rom  

Isso pode parecer confuso, mas se você entender que está mostrando uma lista de dispositivos e partições, você pode interpretar mais facilmente o que está acontecendo. Por exemplo, olhando para essa saída, você pode ver que sda5 tem duas partições distintas: sandbox--vg-root / dm-0 e sandbox--vg-swap_1 / dm-1 . Como sandbox--vg-root / dm-0 é a maior das duas partições, podemos assumir com segurança que essa é a partição principal. E se eu quisesse recuperar dados de sandbox--vg-root / dm-0 , eu poderia montar isso no Linux executando um comando de montagem.

Agora, digamos que lsblk não seja uma ferramenta instalada em seu CD ativo. Então não há problema: Então olhe diretamente para a lista de partições disponíveis executando este comando:

cat /proc/partitions

E o exemplo de saída da minha máquina virtual de teste do Ubuntu Linux é o seguinte:

  11        0    1048575 sr0
   8        0   33554432 sda
   8        1     248832 sda1
   8        2          1 sda2
   8        5   33302528 sda5
 252        0   29106176 dm-0
 252        1    4194304 dm-1

Agora, neste caso, não é tão claro que dm-0 e dm-1 , mas é justo assumir que são partições que você está procurando, deduzindo que elas seguem diretamente sda5 e o tamanho total de sda5 reflete a soma de dm-0 e dm-1 .

Feito isso, agora sabemos que queremos montar sandbox--vg-root / dm-0 . E no caso de um ambiente Linux gravável, você faria algo assim. Primeiro, crie um diretório para o qual o volume seria montado; isso criaria ~/recover_mount em seu diretório inicial:

mkdir ~/recover_mount/

E então você montaria o dispositivo em ~/recover_mount/ da seguinte forma:

sudo mount /dev/dm-0 ~/recover_mount/

Feito isso, se você executou ls -la ~/recover_mount/ , você poderá acessar todo o conteúdo da partição principal com facilidade.

Mas isso é tudo assumindo que você está montando uma partição Linux de outra máquina Linux. Se você estiver no Linux, mas quiser montar uma partição do Windows, poderá ficar mais complicado. Na melhor das hipóteses, podemos supor que o disco do Windows é NTFS, para que seja montado assim:

sudo mount -t ntfs /dev/dm-0 ~/recover_mount/

Observe a configuração -t de ntfs . Ou talvez você precise mudar isso para ntfs-3g assim:

sudo mount -t ntfs-3g /dev/dm-0 ~/recover_mount/

Mas acima de tudo, o seu CD live do Linux precisa ter suporte a NTFS. A maioria dos kernels modernos faz por padrão. Mas, honestamente, se você levar a sério a recuperação de dados em um caso como esse, talvez seja melhor remover a unidade da máquina Windows e ligá-la a um sistema Linux em funcionamento - e não um live CD - e tentar fazer o que delinearam. maneira.

    
por 09.02.2015 / 00:13