AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / unix / Perguntas / 432958
Accepted
acgbox
acgbox
Asked: 2018-03-23 14:47:59 +0800 CST2018-03-23 14:47:59 +0800 CST 2018-03-23 14:47:59 +0800 CST

linha de comando parted não obtém o mesmo resultado

  • 772

Criei meu disco virtual (1024MB):

~$ dd if=/dev/zero of=MyDrive.img iflag=fullblock bs=1M count=1024 && sync

Caso 1:

Agora vou configurar com dentro parted para particionar/formatar MyDrive.img:

~$ parted MyDrive.img
(parted) mklabel msdos
(parted) mkpart primary NTFS 1 1024
(parted) align-check optimal 1

Resultado:

(parted) print
 Model:  (file)
 Disk /home/user/test/MyDrive.img: 1074MB
 Sector size (logical / physical): 512B / 512B
 Table of partitions: msdos
 Disk Flags: 

 Start Number  End     Size    Type    File system  Flags
  1   1049kB  1024MB  1023MB  primary     ntfs       lba

Verificando a partição:

~$ sudo losetup loop1 MyDrive.img
~$ sudo -H gparted /dev/loop1

Até agora tudo bem. Agora o problema...

Caso 2:

Se eu quiser iniciar o "parted" na linha de comando (no terminal; fora do parted), com os mesmos comandos, não obtenho o mesmo resultado:

  ~$ parted -s MyDrive.img mklabel msdos
  ~$ parted -s MyDrive.img mkpart primary NTFS 1 1024
  ~$ parted -s MyDrive.img align-check optimal 1
  ~$ parted -s MyDrive.img set 1 lba on

Fora:

  ~$ parted -s MyDrive.img print
     Model:  (file)
     Disk /home/user/test/MyDrive.img: 1074MB
     Sector size (logical / physical): 512B / 512B
     Table of partitions: msdos
     Disk Flags: 

     Start Number  End     Size    Type    File system  Flags
       1   1049kB  1024MB  1023MB  primary         

Problema: Faltando NTFS e LBA (A mesma coisa acontece com ext3, ext4, etc)

Causa:

   ~$ parted -s MyDrive.img mklabel msdos # Works
   ~$ parted -s MyDrive.img mkpart primary NTFS 1 1024 # Not Work
   ~$ parted -s MyDrive.img align-check optimal 1  # Works
   ~$ parted -s MyDrive.img set 1 lba on  # Not Work

Pergunta:

Como executar corretamente "parted" com a opção "-s" (--script) diretamente da linha de comando no terminal (caso 2) para obter a mesma saída (caso 1)?

Obrigado

linux parted
  • 1 1 respostas
  • 1583 Views

1 respostas

  • Voted
  1. Best Answer
    frostschutz
    2018-03-23T15:17:05+08:002018-03-23T15:17:05+08:00

    partedusa unidades ímpares por padrão, então é melhor especificá-lo.

    (parted) unit MiB
    

    ou

    (parted) mkpart ... 1MiB 1024MiB
    

    Não há necessidade de fazer uma verificação de alinhamento se você souber que sua partição começa em 1MiB.

    O set 1 lba oncomando realmente altera o tipo de partição para Linux. Isso pode ser uma surpresa, mas é normal que o parted's setaltere os tipos de partição (outras opções são raid, lvm, ...).

    Tirando esse detalhe, o resultado de suas operações são completamente idênticos. A diferença na saída é apenas um problema óptico.

    Pode ser um resquício do antigo partedque costumava criar os próprios sistemas de arquivos, em vez de apenas partições. (*) Se você quiser ntfscolar, você realmente precisa de mkntfsum.


    Seu método interativo:

    # dd if=/dev/zero of=MyDrive.img iflag=fullblock bs=1M count=1024 && sync
    # parted MyDrive.img 
    GNU Parted 3.2
    Using /dev/shm/MyDrive.img
    Welcome to GNU Parted! Type 'help' to view a list of commands.
    (parted) mklabel msdos                                                    
    

    Eu crio uma cópia dele neste ponto para que possamos verificar e comparar o outro método:

    (parted) ^Z                                                               
    [1]+  Stopped                 parted MyDrive.img
    # cp MyDrive.img MyDrive-Copy.img
    # fg
    

    Em diante:

    (parted) mkpart primary NTFS 1 1024
    (parted) align-check optimal 1                                            
    1 aligned
    (parted) print                                                            
    Model:  (file)
    Disk /dev/shm/MyDrive.img: 1074MB
    Sector size (logical/physical): 512B/512B
    Partition Table: msdos
    Disk Flags: 
    
    Number  Start   End     Size    Type     File system  Flags
     1      1049kB  1024MB  1023MB  primary  ntfs         lba
    

    Mostra ntfse lbaimprime de novo e sumiu:

    # parted MyDrive.img
    GNU Parted 3.2
    Using /dev/shm/MyDrive.img
    Welcome to GNU Parted! Type 'help' to view a list of commands.
    (parted) print                                                            
    Model:  (file)
    Disk /dev/shm/MyDrive.img: 1074MB
    Sector size (logical/physical): 512B/512B
    Partition Table: msdos
    Disk Flags: 
    
    Number  Start   End     Size    Type     File system  Flags
     1      1049kB  1024MB  1023MB  primary
    

    Seu segundo método usando comandos de terminal, executado na cópia:

    # parted MyDrive-Copy.img mkpart primary NTFS 1 1024
    # parted MyDrive-Copy.img align-check optimal 1
    1 aligned
    # parted MyDrive-Copy.img print
    Model:  (file)
    Disk /dev/shm/MyDrive-Copy.img: 1074MB
    Sector size (logical/physical): 512B/512B
    Partition Table: msdos
    Disk Flags: 
    
    Number  Start   End     Size    Type     File system  Flags
     1      1049kB  1024MB  1023MB  primary
    

    Realmente existem diferenças?

    # cmp -l MyDrive.img MyDrive-Copy.img && echo Identical || echo Different
    Identical
    

    (Sem o método de cópia, eles teriam identificadores de disco diferentes, pois é aleatório toda vez que você mkpart. Com as partições GPT, cada partição individual também teria um PARTUUID exclusivo, portanto, o método não se aplica a outros esquemas de particionamento, ou melhor, você deve verificar o que os diferentes bytes representam.)


    Portanto, você obtém o mesmo resultado, a menos que os comandos sejam diferentes (não havia nenhum setem seu primeiro exemplo).


    (*)

    Para tornar a confusão perfeita, depois mkntfsna partição, parteddetecta a presença de NTFS e set 1 lba onnão define mais o Linux como tipo de partição. Isso também significa que, com dados aleatórios no disco, você pode obter resultados aleatórios em sua tabela de partições.

    Portanto, pode haver um ponto para especificar o NTFS quando você, mkpartafinal. partedlembra desse tipo para a sessão atual e age de acordo ao escolher os tipos de partição. Traduzido para o terminal, pode ser melhor fazer tudo em um único comando.

    # parted MyDrive.img \
        mklabel msdos \
        mkpart primary NTFS 1 1024 \
        set 1 lba on \
        align-check optimal 1 \
        print
    
    Model:  (file)
    Disk /dev/shm/MyDrive.img: 1074MB
    Sector size (logical/physical): 512B/512B
    Partition Table: msdos
    Disk Flags: 
    
    Number  Start   End     Size    Type     File system  Flags
     1      1049kB  1024MB  1023MB  primary  ntfs         lba
    
    • 1

relate perguntas

  • Existe uma maneira de fazer ls mostrar arquivos ocultos apenas para determinados diretórios?

  • Inicie/pare o serviço systemd usando o atalho de teclado [fechado]

  • Necessidade de algumas chamadas de sistema

  • astyle não altera a formatação do arquivo de origem

  • Passe o sistema de arquivos raiz por rótulo para o kernel do Linux

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Como exportar uma chave privada GPG e uma chave pública para um arquivo

    • 4 respostas
  • Marko Smith

    ssh Não é possível negociar: "nenhuma cifra correspondente encontrada", está rejeitando o cbc

    • 4 respostas
  • Marko Smith

    Como podemos executar um comando armazenado em uma variável?

    • 5 respostas
  • Marko Smith

    Como configurar o systemd-resolved e o systemd-networkd para usar o servidor DNS local para resolver domínios locais e o servidor DNS remoto para domínios remotos?

    • 3 respostas
  • Marko Smith

    Como descarregar o módulo do kernel 'nvidia-drm'?

    • 13 respostas
  • Marko Smith

    apt-get update error no Kali Linux após a atualização do dist [duplicado]

    • 2 respostas
  • Marko Smith

    Como ver as últimas linhas x do log de serviço systemctl

    • 5 respostas
  • Marko Smith

    Nano - pule para o final do arquivo

    • 8 respostas
  • Marko Smith

    erro grub: você precisa carregar o kernel primeiro

    • 4 respostas
  • Marko Smith

    Como baixar o pacote não instalá-lo com o comando apt-get?

    • 7 respostas
  • Martin Hope
    rocky Como exportar uma chave privada GPG e uma chave pública para um arquivo 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Wong Jia Hau ssh-add retorna com: "Erro ao conectar ao agente: nenhum arquivo ou diretório" 2018-08-24 23:28:13 +0800 CST
  • Martin Hope
    Evan Carroll status systemctl mostra: "Estado: degradado" 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim Como podemos executar um comando armazenado em uma variável? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S Por que /dev/null é um arquivo? Por que sua função não é implementada como um programa simples? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 Como ver as últimas linhas x do log de serviço systemctl 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - pule para o final do arquivo 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla Por que verdadeiro e falso são tão grandes? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis Substitua a string em um arquivo de texto enorme (70 GB), uma linha 2017-12-30 06:58:33 +0800 CST
  • Martin Hope
    Bagas Sanjaya Por que o Linux usa LF como caractere de nova linha? 2017-12-20 05:48:21 +0800 CST

Hot tag

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve