Republicado de www.vivaolinux.com.br
Exemplos práticos de comandos com Parted
Autor: Lisandro Guerra <lisandro.digital at gmail.com>
Data: 03/10/2011
Selecionar disco e mostrar as partições
1) Selecionar o disco a ser particionado
Quando se executa o utilitário parted sem nenhum argumento, ele seleciona por padrão (default) o primeiro disco disponível no sistema.
Vamos a um exemplo:
sudo parted
[sudo] password for lisandro:
GNU Parted 2.3
Usando /dev/sda
Bem vindo ao GNU Parted! Digite 'help' para visualizar uma lista de comandos.
(parted)
Nesse exemplo ele pegou automaticamente /dev/sda, meu primeiro disco no sistema.
Pode observar que no fim da execução fica o cursor aguardando comandos ao parted, bastando escrever diretamente no cursor o comando desejado.
Vamos dar uma olhada no "help":
(parted) help
align-check TIPO N #verifica a partição N para alinhamento TIPO(min|opt)
check NUMERO #faz um teste simples no sistema de arquivos
cp [DO-DISPOSITIVO] DO-NÚMERO PRO-NÚMERO #copia o sistema de arquivos para outra partição
help [COMANDO] #exibe a ajuda geral, ou a ajuda sobre COMANDO
mklabel,mktable TIPO-DE-RÓTULO #cria um novo rótulo de disco (tabela de partição)
mkfs NÚMERO FS-TYPE #cria um sistema de arquivos FS-TYPE na partição NÚMERO
mkpart TIPO-PART [TIPO-FS] INÍCIO FIM #cria uma partição
mkpartfs TIPO-PART TIPO-FS INÍCIO FIM #cria uma partição com um sistema de arquivos
move NUMERO INICIO FIM #move a partição NUMERO
name NUMERO NOME #renomeia a partição NUMERO para NOME
print [devices|free|list,all|NÚMERO] #mostra a tabela de partição, dispositivos disponíveis, espaço livre, todas as partições encontradas, ou uma partição em específico (definida por NÚMERO)
quit #sair do programa
rescue INICIO FIM #recupera uma partição perdida próxima ao INICIO e FIM
resize NUMERO INICIO FIM #redimensiona a partição NUMERO e seu sistema de arquivos
rm NUMERO #apaga a partição NUMERO
select DEVICE #seleciona o dispositivo a editar
set NUMERO FLAG ESTADO #altera a FLAG na partição NUMERO
toggle [NUMBER [FLAG]] #altera o estado da flag na partição NUMBER
unit UNIDADE #define a unidade padrão como UNIDADE
versão #exibe o número da versão e informações sobre copyright do GNU Parted
Para selecionar outro disco usamos o comando "select", como abaixo:
(parted) select /dev/sdb
Erro: Não foi possível receber informações do dispositivo /dev/sdb - Arquivo ou diretório não encontrado.
Repetir/Retry/Cancelar/Cancel?
Opa! Essa mensagem de erro ocorre quando o disco não é localizado ou o nome não é o fornecido. Vou conectar um pendrive e tentar novamente:
(parted) select /dev/sdb
Usando /dev/sdb
(parted)
Agora sim, funcionou perfeitamente.
2) Mostrar todas as partições
Podemos mostrar na tela as partições usando o comando "print", ele ainda mostra outras informações, como as propriedades do disco, modelo, tamanho, tabela de partições e tamanho do setor...
Vejamos um exemplo:
(parted) print
Modelo: SanDisk Cruzer Blade (scsi)
Disco /dev/sdb: 2001MB
Tamanho de setor (lógico / físico): 512B/512B
Tabela de Partição: msdos
Número Início Fim Tamanho Tipo Sistema de arquivos Sinalizador 1 66,0kB 2000MB 2000MB primary fat16 iniciação(parted)
Vou trocar para o /dev/sda e tentar o "print", veja só:
(parted) select /dev/sda
Usando /dev/sda
(parted) print
Modelo: ATA ST3160812AS (scsi)
Disco /dev/sda: 160GB
Tamanho de setor (lógico / Físico): 512B/512B
Tabela de Partição: msdos
Número Início Fim Tamanho Tipo Sistema de arquivos Sinalizador 1 1049kB 112GB 112GB primary ext4 iniciação 2 112GB 160GB 47,8GB extended 6 112GB 117GB 4802MB logical linux-swap(v1) 5 117GB 160GB 43,0GB logical ext4(parted)
Bem útil! Não acharam?
Bom, para os próximos exemplos vou voltar ao meu pendrive em /dev/sdb. É só usar o "select" novamente, mas agora você já sabe.
Criar partições e sistemas de arquivos
3) Criando partição primária
O comando "mkpart" é usado para criar as partições, tanto as primárias como as lógicas, desde que sejam fornecidas as posições inicial e final no disco.
Vamos ver um exemplo criando uma partição de 1GB passando as posições ao comando, ficando atentos ao fato que a unidade está em MB. Bom, mas primeiro vou apagar aquela minha partição do pendrive fazendo:
(parted) rm
Número da partição? 1
(parted)
Ou se preferir passar as informações direto para o comando, ficaria assim:
(parted) rm 1
(parted)
Pronto, agora vou criar a partição com o "mkpart" e em seguida verificar com o "print":
(parted) mkpart primary 6 1031
(parted) print
Modelo: SanDisk Cruzer Blade (scsi)
Disco /dev/sdb: 2001MB
Tamanho de setor (lógico / Físico): 512B/512B
Tabela de Partição: msdos
Número Início Fim Tamanho Tipo Sistema de arquivos Sinalizador 1 6291kB 1031MB 1024MB primary(parted)
Aí está. Partição primária criada.
Agora vamos marcar a partição como habilitada para boot usando o comando "set":
(parted) set
Número da partição? 1
Marcar para inverter (flag: 'Invert')? boot
Novo estado? [on]/desligado/off? on
(parted)
Outra opção seria passar direto ao comando os parâmetros:
(parted) set 1 boot on
Seja qual for o método que escolheu, vamos verificar o resultado:
(parted) print
Modelo: SanDisk Cruzer Blade (scsi)
Disco /dev/sdb: 2001MB
Tamanho de setor (lógico / Físico): 512B/512B
Tabela de Partição: msdos
Número Início Fim Tamanho Tipo Sistema de arquivos Sinalizador 1 6291kB 1031MB 1024MB primary iniciação(parted)
Perfeito!
4) Criando uma partição lógica
Vamos usar o mesmo comando, mas agora vamos criar uma partição lógica de 480MB usando mais uma parte do disco. Mas antes vamos criar a partição estendida, que vai abrigar a lógica. Da mesma forma que fiz com a primária, forneci as posições inicial e final e depois de executado coloquei na tela com um "print" para ver o resultado:
(parted) mkpart extended 1032 2000
(parted) print
Modelo: SanDisk Cruzer Blade (scsi)
Disco /dev/sdb: 2001MB
Tamanho de setor (lógico / Físico): 512B/512B
Tabela de Partição: msdos
Número Início Fim Tamanho Tipo Sistema de arquivos Sinalizador 1 6291kB 1031MB 1024MB primary iniciação 2 1032MB 2000MB 968MB extended lba(parted)
Agora sim podemos criar a parição lógica e verificar o resultado:
(parted) mkpart logical 1033 1513
(parted) print
Modelo: SanDisk Cruzer Blade (scsi)
Disco /dev/sdb: 2001MB
Tamanho de setor (lógico / Físico): 512B/512B
Tabela de Partição: msdos
Número Início Fim Tamanho Tipo Sistema de arquivos Sinalizador 1 6291kB 1031MB 1024MB primary 2 1032MB 2000MB 968MB extended lba 5 1033MB 1513MB 480MB logical(parted)
Ficou bonito.
Como podemos ver iniciei a partição lógica no começo da estendida.
Repararam que as partições quando são criadas assim ficam sem sistema de arquivos definido?
Vamos criar os sistemas de arquivos?
5) Criando o sistema de arquivos
Com o comando "mkfs" podemos criar um sistema de arquivos em uma partição, lembrando que todos os dados existentes na partição serão perdidos no processo. São suportados na versão 2.3 os sistemas ext2, ext4, fat16, fat32, linux-swap, reiserfs e um tal de mips. Claro que reiserfs só funcionará se a biblioteca dele estiver instalada (libreiserfs).
Vamos aos exemplos com "mkfs" então.
Para criar ext4 na primária:
(parted) mkfs AVISO: você está tentando usar parted para operar em um sistema de arquivos mkfs. O código de manipulação do sistema de arquivos parted não é tão robusto quanto o que irá encontrar em um pacote dedicado, específico para o sistema de arquivos como o e2fsprogs. Nós recomendamos que você use parted somente para manipular tabelas de partição, quando possível.
O suporte à realização da maioria das operações da maioria dos tipos de sistema de arquivos será removida em um lançamento futuro.
Aviso: O sistema de arquivos será destruído e todos os dados existentes na partição serão perdidos. Deseja continuar?
Sim/Yes/Não/No? Sim
Número da partição? 1
Tipo de sistema de arquivos? [ext2]? ext4
(parted)
Vamos verificar:
(parted) print
Modelo: SanDisk Cruzer Blade (scsi)
Disco /dev/sdb: 2001MB
Tamanho de setor (lógico / Físico): 512B/512B
Tabela de Partição: msdos
Número Início Fim Tamanho Tipo Sistema de arquivos Sinalizador 1 6291kB 1031MB 1024MB primary ext4 iniciação, lba 2 1032MB 2000MB 968MB extended lba 5 1033MB 1513MB 480MB logical(parted) Para mudar o sistema de arquivos da partição que acabamos de criar como ext4 para ficar como fat32 fazemos:
(parted) mkfs
AVISO: você está tentando usar parted para operar em um sistema de arquivos mkfs. O código de manipulação do sistema de arquivos parted não é tão robusto quanto o que irá encontrar em um pacote dedicado, específico para o sistema de arquivos como o e2fsprogs. Nós recomendamos que você use parted somente para manipular tabelas de partição, quando possível.
O suporte à realização da maioria das operações da maioria dos tipos de sistema de arquivos será removida em um lançamento futuro.
Aviso: O sistema de arquivos será destruído e todos os dados existentes na partição serão perdidos. Deseja continuar?
Sim/Yes/Não/No? Sim
Número da partição? 1
Tipo de sistema de arquivos? [ext2]? fat32
(parted)
Vamos verificar:
(parted) print
Modelo: SanDisk Cruzer Blade (scsi)
Disco /dev/sdb: 2001MB
Tamanho de setor (lógico / Físico): 512B/512B
Tabela de Partição: msdos
Número Início Fim Tamanho Tipo Sistema de arquivos Sinalizador 1 6291kB 1031MB 1024MB primary fat32 iniciação, lba 2 1032MB 2000MB 968MB extended lba 5 1033MB 1513MB 480MB logical(parted) Faça mais alguns testes.
Moleza hein!
E se quisermos criar a partição já com o sistema de arquivos?
6) Criando partições e sistemas de arquivos simultaneamente
Usando o comando "mkpartfs" podemos criar partições já com o sistema de arquivos especificado. É como se fosse o "mkpart" e o "mkfs" ao mesmo tempo, o sistema continua o mesmo no que tange a passar os dados para o comando, mas agora vamos informar tipo de partição, tipo de sistema de arquivos e os limites da partição.
Para exemplificar, vamos criar uma partição lógica com o restante do disco e já com sistema de arquivos fat16:
(parted) mkpartfs logical fat16 1514 2000
AVISO: você está tentando usar parted para operar em um sistema de arquivos mkpartfs. O código de manipulação do sistema de arquivos parted não é tão robusto quanto o que irá encontrar em um pacote dedicado, específico para o sistema de arquivoscomo o e2fsprogs. Nós recomendamos que você use parted somente para manipular tabelas de partição, quando possível.
O suporte à realização da maioria das operações da maioria dos tipos de sistema de arquivos será removida em um lançamento futuro.
(parted)
Vejamos o resultado:
(parted) print
Modelo: SanDisk Cruzer Blade (scsi)
Disco /dev/sdb: 2001MB
Tamanho de setor (lógico / físico): 512B/512B
Tabela de Partição: msdos
Número Início Fim Tamanho Tipo Sistema de arquivos Sinalizador 1 6291kB 1031MB 1024MB primary fat32 iniciação, lba 2 1032MB 2000MB 968MB extended lba 5 1033MB 1513MB 480MB logical 6 1514MB 2000MB 485MB logical fat16 lba(parted)
Pronto, bem mais prático esse comando.
Também podemos redimensionar partições e copiar dados, veja na próxima página.
Redimensionar e copiar dados entre partições
7) Redimensionando uma partição
Para redimensionar uma partição usamos o comando "resize". Esse comando permite que se diminua ou aumente o tamanho da partição (havendo espaço é lógico).
Podemos usar o comando sem parâmetros ou indicar o número da partição. Seja qual for o método é apresentada uma advertência prevenindo que a funcionalidade não é muito robusta.
Antes de começar o teste criei um sistema de arquivos ext2 na partição lógica 5 que já tínhamos antes:
(parted) mkfs
AVISO: você está tentando usar parted para operar em um sistema de arquivos mkfs. O código de manipulação do sistema de arquivos parted não é tão robusto quanto o que irá encontrar em um pacote dedicado, específico para o sistema de arquivos como o e2fsprogs. Nós recomendamos que você use parted somente para manipular tabelas de partição, quando possível.
O suporte à realização da maioria das operações da maioria dos tipos de sistema de arquivos será removida em um lançamento futuro.
Aviso: O sistema de arquivos será destruído e todos os dados existentes na partição serão perdidos. Deseja continuar? Sim/Yes/Não/No? Sim
Número da partição? 5
Tipo de sistema de arquivos? [ext2]? ext2
(parted)
Agora sim, vamos ao teste mesmo, que será reduzir a partição 6 (fat16) e aumentar a partição 5 (ext2). Mãos a obra:
(parted) resize
AVISO: você está tentando usar parted para operar em um sistema de arquivos resize. O código de manipulação do sistema de arquivos parted não é tão robusto quanto o que irá encontrar em um pacote dedicado, específico para o sistema de arquivos como o e2fsprogs. Nós recomendamos que você use parted somente para manipular tabelas de partição, quando possível.
O suporte à realização da maioria das operações da maioria dos tipos de sistema de arquivos será removida em um lançamento futuro.
Número da partição? 6
Iniciar? [1514MB]? 1600
Fim? [2000MB]? 2000
Informação: Você gostaria de usar FAT32? Se deixar seu sistema de arquivos como FAT16, não haverá problemas. Se você converter para FAT32, e o MS Windows está instalado nesta partição, você deverá reinstalar o gerenciador de boot do MS Windows. Se quiser fazer isso, consulte o manual do Parted (ou o manual de sua distribuição). Também, convertendo para FAT32 fará com que o sistema de arquivos não seja mais reconhecido pelo MS DOS, Windows 95a, e MS Windows NT. Sim/Yes/Não/No/Cancelar/Cancel? Não
(parted)
Ele oferece para mudar para fat32 com toda uma explicação, mas aqui para nosso objetivo isso não é relevante, então simplesmente coloquei "Não" e o processo continuou.
Vejamos se deu certo:
(parted) print
Modelo: SanDisk Cruzer Blade (scsi)
Disco /dev/sdb: 2001MB
Tamanho de setor (lógico / Físico): 512B/512B
Tabela de Partição: msdos
Número Início Fim Tamanho Tipo Sistema de arquivos Sinalizador 1 6291kB 1031MB 1024MB primary fat32 iniciação, lba 2 1032MB 2000MB 968MB extended lba 5 1033MB 1513MB 480MB logical ext2 6 1600MB 2000MB 400MB logical fat16 lba(parted)
Ótimo, foi como esperávamos. Agora vamos aumentar a partição 5. Nesse exemplo vou passar para o comando o número da partição:
(parted) resize 5
AVISO: você está tentando usar parted para operar em um sistema de arquivos resize. O código de manipulação do sistema de arquivos parted não é tão robusto quanto o que irá encontrar em um pacote dedicado, específico para o sistema de arquivos como o e2fsprogs. Nós recomendamos que você use parted somente para manipular tabelas de partição, quando possível.
O suporte à realização da maioria das operações da maioria dos tipos de sistema de arquivos será removida em um lançamento futuro.
Iniciar? [1033MB]? 1033
Fim? [1513MB]? 1600
Aviso: Uma operação de redimensionamento sobre este sistema de arquivo usará código EXPERIMENTAL que PODE CORROMPÊ-LO (embora nenhuma ocorrência tenha sido relatada). Você deveria ao menos fazer cópia de segurança de seus dados primeiro, e depois executar "e2fsck -f". OK/Cancelar/Cancel? ok
(parted)
Novamente avisos sobre riscos e uso de código experimental, que demonstra a responsabilidade e o comprometimento dos desenvolvedores. Muito bom...
Vamos ver se deu certo e aproveitar para dar uma dica. Não usaremos o comando "print" mas o comando "p" (pode ser que seja um alias) que nos dá o mesmo resultado:
(parted) p
Modelo: SanDisk Cruzer Blade (scsi)
Disco /dev/sdb: 2001MB
Tamanho de setor (lógico / Físico): 512B/512B
Tabela de Partição: msdos
Número Início Fim Tamanho Tipo Sistema de arquivos Sinalizador 1 6291kB 1031MB 1024MB primary fat32 iniciação, lba 2 1032MB 2000MB 968MB extended lba 5 1033MB 1600MB 567MB logical ext2 6 1600MB 2000MB 400MB logical fat16 lba(parted)
Feito. Tudo como esperado.
Agora vamos ver como copiar dados entre as partições.
8) Copiando os dados de uma partição para outra
Todos os dados de uma partição podem ser copiados de uma vez para outra (pode configurar um clonagem) usando o comando "cp" acompanhado de dois parâmetros, primeiro o número da partição origem e em seguida o da de destino. Lembre-se que qualquer conteúdo na partição de destino será apagado definitivamente, tão logo o processo de cópia inicie e de que o tamanho da partição que receberá os dados deve ser suficiente para armazená-los.
Uma peculiaridade é que, se os sistemas de arquivos forem diferentes, a partição de destino recebe também o sistema de arquivos da de origem. Ou seja, se o sistema de arquivos for diferente entre as partições envolvidas, a partição de destino será alterada para o mesmo tipo da partição de origem.
Para exemplificar copiei dois arquivos de texto pequenos para dentro da partição 1 (fat32) e depois usei o comando "cp" para copiar os dados para a partição 6 (fat16):
(parted) cp 1 6
AVISO: você está tentando usar parted para operar em um sistema de arquivos cp. O código de manipulação do sistema de arquivos parted não é tão robusto quanto o que irá encontrar em um pacote dedicado, específico para o sistema de arquivos como o e2fsprogs. Nós recomendamos que você use parted somente para manipular tabelas de partição, quando possível.
O suporte à realização da maioria das operações da maioria dos tipos de sistema de arquivos será removida em um lançamento futuro.
(parted)
Vejamos o resultado:
(parted) p
Modelo: SanDisk Cruzer Blade (scsi)
Disco /dev/sdb: 2001MB
Tamanho de setor (lógico / Físico): 512B/512B
Tabela de Partição: msdos
Número Início Fim Tamanho Tipo Sistema de arquivos Sinalizador 1 6291kB 1031MB 1024MB primary fat32 iniciação, lba 2 1032MB 2000MB 968MB extended lba 5 1033MB 1600MB 567MB logical ext2 6 1600MB 2000MB 400MB logical fat32 lba (parted)Verifiquei o conteúdo das partições e realmente os aquivos foram copiados. Como podemos ver no resultado do comando "p" o sistema de arquivos da partição 6 (destino) que era fat16 passou a ser fat32.
Agora observe que a partição de destino é menor que a de origem, mas como tamanho dos dados não excedem o da partição a cópia foi feita normalmente.
Bem amigos, ficamos por aqui.
Espero que tenham gostado do utilitário Parted. Eu gostei...
Até uma próxima oportunidade.
Fontes:
- parted man pages
- parted help
- http://www.thegeekstuff.com
Comentários