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 / 450635
Accepted
lesnik
lesnik
Asked: 2018-06-20 05:10:27 +0800 CST2018-06-20 05:10:27 +0800 CST 2018-06-20 05:10:27 +0800 CST

Pergunta geral sobre `dd`, imagens iso e dispositivos linux

  • 772

Eu tenho uma imagem iso (é um disco de instalação do Windows), mas não quero gravar dvd. Eu quero criar uma unidade flash USB inicializável em vez disso. E eu quero usar ferramentas linux para realizar essa tarefa.

Encontrei várias receitas, eles sugerem usar dda ferramenta da seguinte forma:

dd if=/path/to/my.iso of=/dev/sdx

(fe aqui https://www.linux.com/blog/how-burn-iso-usb-drive )

Outra receita sugere criar algumas partições no usb primeiro (fe Terminal: create bootable USB from iso ) e isso me parece muito estranho.

Pelo que entendi a unidade flash é apenas um armazenamento. É apenas um hardware que armazena/retorna um bloco de dados dado o índice deste bloco. Está correto?

O Linux fornece acesso a esse armazenamento via /dev/sdxdispositivo (onde xpode estar qualquer letra, no meu caso o nome do dispositivo é /dev/sdb). Eu posso ter acesso a qualquer bit de dados no pendrive através deste dispositivo. Isso está correto?

O ddcomando apenas lê o conteúdo do arquivo bit a bit (bem, bloco por bloco) e grava os dados no dispositivo especificado. Se o arquivo de entrada for grande o suficiente, todos os bits de dados no pendrive serão substituídos. Nenhuma informação sobre partições, tipos de sistema de arquivos, etc. sobreviveria. Isso está correto? Se sim, o que é usado para particionar / formatar o pendrive antes do ddcomando?

O resultado do ddcomando não é o que eu esperava. Depois de concluído, posso ver os arquivos no pendrive da minha máquina linux, mas o pendrive não é inicializável e minhas janelas não conseguem lê-lo (sugerem formatar o pendrive).

Vou usar alguma ferramenta para criar o pendrive inicializável (rufus ou yumi ou qualquer outra coisa), não é um problema agora. O problema é que não entendo porque não posso usar ddpara essa finalidade.

As receitas acima mencionadas podem não funcionar para todas as imagens iso? Por favor me ajude a entender o que está acontecendo.

dd live-usb
  • 3 3 respostas
  • 3214 Views

3 respostas

  • Voted
  1. Best Answer
    sudodus
    2018-06-20T08:13:25+08:002018-06-20T08:13:25+08:00

    Clonagem e extração

    Eu tenho uma imagem iso (é um disco de instalação do Windows), mas não quero gravar dvd. Eu quero criar uma unidade flash USB inicializável em vez disso. E eu quero usar ferramentas linux para realizar essa tarefa.

    Encontrei várias receitas, eles sugerem usar dda ferramenta da seguinte forma:

    dd if=/path/to/my.iso of=/dev/sdx
    

    Isso é clonagem (feita com ddoutras ferramentas de clonagem.

    (fe aqui https://www.linux.com/blog/how-burn-iso-usb-drive )

    Outra receita sugere criar algumas partições no usb primeiro (fe Terminal: create bootable USB from iso ) e isso me parece muito estranho.

    Isso é feito com ferramentas de extração.

    Tanto a clonagem quanto a extração são métodos possíveis e comuns. Existem várias ferramentas para ambos os métodos.

    Se o arquivo iso for um arquivo iso híbrido, você pode criar uma unidade de inicialização gravando em um disco de CD/DVD e clonando em um dispositivo de armazenamento em massa: pendrive USB, cartão de memória, HDD ou SSD. Se o arquivo iso não for um arquivo iso híbrido, você poderá criar uma unidade de inicialização gravando em um disco de CD/DVD, mas não funcionará em um dispositivo de armazenamento em massa. Mas você ainda pode usar uma ferramenta de extração para criar um dispositivo de inicialização (criando a tabela de partição correta e extraindo o conteúdo relevante do arquivo iso para um dispositivo de armazenamento em massa).

    Pelo que entendi a unidade flash é apenas um armazenamento. É apenas um hardware que armazena/retorna um bloco de dados dado o índice deste bloco. Está correto?

    Sim.

    O Linux fornece acesso a esse armazenamento via /dev/sdxdispositivo (onde x pode estar qualquer letra, no meu caso o nome do dispositivo é /dev/sdb). Eu posso ter acesso a qualquer bit de dados no pendrive através deste dispositivo. Isso está correto?

    Sim.

    O ddcomando apenas lê o conteúdo do arquivo bit a bit (bem, bloco por bloco) e grava os dados no dispositivo especificado. Se o arquivo de entrada for grande o suficiente, todos os bits de dados no pendrive serão substituídos. Nenhuma informação sobre partições, tipos de sistema de arquivos, etc. sobreviveria. Isso está correto? Se sim, o que é usado para particionar / formatar o pendrive antes do ddcomando?

    Sim, e por esse motivo, você não precisa particionar/formatar o pendrive antes de clonar. Todos os vestígios dele desaparecerão de qualquer maneira.

    O resultado do ddcomando não é o que eu esperava. Depois de concluído, posso ver os arquivos no pendrive da minha máquina linux, mas o pendrive não é inicializável e minhas janelas não conseguem lê-lo (sugerem formatar o pendrive).

    A maioria das principais distribuições linux fornecem arquivos iso híbridos, que criam unidades de inicialização USB quando clonadas. Mas nem todos eles, por exemplo, não o Knoppix (mas você pode tratar um arquivo iso do Knoppix com isohybrid).

    Os arquivos ISO do Windows 7-10 não são arquivos ISO híbridos. Portanto, você precisa de um método de extração (manual ou com uma ferramenta) para criar uma unidade de inicialização USB.

    Vou usar alguma ferramenta para criar o pendrive inicializável (rufus ou yumi ou qualquer outra coisa), não é um problema agora. O problema é que não entendo porque não posso usar ddpara essa finalidade.

    As receitas acima mencionadas podem não funcionar para todas as imagens iso? Por favor me ajude a entender o que está acontecendo.

    Links

    help.ubuntu.com/community/Installation/iso2usb

    • Drives - dispositivos de armazenamento em massa
    • Clonagem e extração
    • Faça você mesmo (o que ajuda a entender o que está acontecendo)

    A clonagem não precisa de preparação

    • dd merece os apelidos 'destruidor de disco' e 'destruidor de dados'
    • Ferramentas com um ponto de verificação final
    • Se a clonagem não funcionar
    • 4
  2. imbuedHope
    2018-06-20T05:28:40+08:002018-06-20T05:28:40+08:00

    Como você usa ddé determinado por como o .isoarquivo é criado.

    O comando dd apenas lê o conteúdo do arquivo bit a bit (bem, bloco por bloco) e grava os dados no dispositivo especificado. Se o arquivo de entrada for grande o suficiente, todos os bits de dados no pendrive serão substituídos.

    Isso está correto, mas e se eu executasse dd if=/dev/sdb1 of=test.isoao criar o .iso? Ou talvez tenha executado algo como dd if=/dev/sdb of=test.iso bs=1M seek=1fazer com que ele pule o primeiro 1Mdos dados?

    ddnão se importa com o esquema de partição subjacente, isso significa que como você o usa depende inteiramente da estrutura do dispositivo de bloco e dos dados que você está gravando.

    • 3
  3. YoMismo
    2018-06-20T06:19:34+08:002018-06-20T06:19:34+08:00

    Se você ddacessar o dispositivo, perderá seu espaço livre usb, pois o dd'ing substituirá o MBR/GPT.

    Particionar seu dispositivo pode permitir gravar sua imagem em uma partição, permitindo que você mantenha seu espaço livre. Mas você precisará ajustar seu gerenciador de inicialização (grub?) para poder iniciar a partir dessa partição. Se você particionar sua unidade, você terá sdx1, sdx2, ... permitindo que você dd if=your.iso of=/dev/sdx1ou a partição desejada.

    O problema aqui é que você quer fazer isso com um disco de instalação do Windows, e isso pode ser um problema. Se o Windows espera uma unidade de DVD para a instalação, ele pode não inicializar ou você pode precisar ajustar essa imagem para evitar essa verificação. No Linux, as coisas são mais fáceis, pois muitas distribuições permitem iniciar a própria iso, outras podem precisar de alguns hacks para poder ter um único USB com muitas distribuições das quais você pode começar.

    • 2

relate perguntas

  • Remover bytes nulos do final de um arquivo grande

  • O comando dd gravando em /dev/sdc mudou o tamanho do disco

  • Determine se duas imagens iso são iguais

  • Como acelerar o dd no macOS High Sierra?

  • Questão de instalação do tails final

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