Quais são os incômodos da criação de uma unidade USB inicializável do Windows 7 a partir do linux com ms-sys ou dd?

9

Tenho lido algumas páginas da Web e postagens (aqui e em outros fóruns) sobre como criar uma mídia USB de instalação do Windows 7 a partir do linux (para instalar o Windows 7)

Perguntei no TechNet sobre isso e recebi uma resposta com informações gerais sobre como fazê-lo:

"Pessoalmente, não estou muito familiarizado com o Linux, mas basicamente tudo o que você precisa fazer ... da maneira que você faz, é o seguinte:

  1. Formate uma unidade flash USB, o fat32 ou o ntfs cria uma partição grande o suficiente para hospedar a instalação do Windows (mais ou menos 3 GB para 64 bits, e 2,5 GB para 32 bits) e marque essa partição como ativa / inicializável. Como isso pode ser feito com o Windows, mas também com uma ferramenta como o gparted, você deve poder fazer o mesmo no debian.

  2. Depois de criar essa partição, monte o iso que você baixa e copie todos os arquivos iniciados da raiz para a raiz da unidade flash USB.

É só isso. "

Encontrei outro método em vários lugares, que é quase o mesmo que foi mencionado no TechNet. No entanto, parece haver uma etapa ausente neste método e / ou uma etapa que não tenho certeza de que seja necessária.

ddnem sempre funciona. Basicamente, o passo que faltava era escrever um setor de inicialização adequado no pendrive, o que pode ser feito no linux ms-sys. Isso funciona com a versão comercial do Windows 7.

Aqui está o resumo completo, consulte a pergunta sobre falha do servidor para obter mais detalhes:

  1. Instale o ms-sys .
  2. Verifique qual dispositivo sua mídia USB está atribuída ( fdisk -l) aqui, vamos assumir que é /dev/sdb.
  3. Exclua todas as partições, crie uma nova ocupando todo o espaço, defina o tipo como NTFS e defina-o inicializável:

    cfdisk /dev/sdb

  4. Crie sistema de arquivos NTFS:

    mkfs.ntfs -f /dev/sdb1

  5. Monte mídia iso e usb:

    mount -o loop win7.iso /mnt/iso
    mount /dev/sdb1 /mnt/usb

  6. Copie sobre todos os arquivos:

    # cp -r /mnt/iso/* /mnt/usb/

  7. Escreva o Windows 7 MBR no pendrive:

    # ms-sys -7 /dev/sdb

  8. Verifique se a gravação está nivelada (seja paciente, pode demorar alguns minutos):

    # sync

  9. abra gparted, selecione a unidade USB, clique com o botão direito do mouse no sistema de arquivos e clique em "Gerenciar sinalizadores". Marque a caixa de seleção 'boot' e feche

... e pronto.

Questões

  • O usb não deve funcionar sem fazer o último passo # ms-sys -7 /dev/sdb? Ou é para tornar o usb inicializável? É apenas para marcar a partição como inicializável?

  • Não seria melhor usar o rsync em vez de cp -r?

  • Todas essas etapas precisam ser executadas como root? Caso contrário, preciso de chmodtodos os arquivos 664e chowntodos os diretórios usados ​​para montar o dispositivo USB e a imagem ISO? Suponho que seja apenas mais fácil copiar os dados roote não afetá-los.

  • Alguém já tentou esse método ou algo parecido como copiar o iso dd?

Abel Coto
fonte
Eu usei dd com um iso embora não para o Windows 7. Você pode verificar para ver se isso funciona: superuser.com/questions/591234/...
xsdf

Respostas:

1

O ms-syscomando é importante. Com a -7opção, ele cria um setor de inicialização compatível com o Windows 7 na sua unidade flash.

Você não pode usar o dd porque os ISO usam um sistema de arquivos ISO como UDF ou ISO9660 , onde a unidade USB suporta apenas adequadamente sistemas de arquivos em disco como ext3, FAT32 ou NTFS

Seria melhor usar rsync em vez de cp -r?

Na verdade não. cp -rfunciona perfeitamente bem. Apenas perceba que o NTFS manipula permissões de maneira diferente do Linux, portanto, usar o rsync para manter tudo intacto não importa muito. O que realmente importa é que os arquivos da ISO estejam no USB e que o setor de inicialização esteja formatado corretamente usandoms-sys -7

Você pode executar todas as etapas como root, se desejar. As únicas 2 etapas que realmente exigem raiz são mkfse as 2 mount's

Se você estiver tendo problemas de permissão mesmo como root, pode ser necessário montar seu USB usando ntfs-3g /dev/sdb1como algumas distribuições Linux fornecem apenas um driver somente leitura para NTFS.

Someguy123
fonte
1

Eu tentei com dd (dd se = / file / win7.iso de = / dev / sdb), e ele não funciona.

Minhas etapas para fazê-lo funcionar:

  • Instale o ms-sys
  • gparted para criar partição e criar sistema de arquivos NTFS.

Depois aplique estes comandos:

# mount -o loop win7.iso /mnt/iso 
# mount /dev/sdb1 /mnt/usb
# cp -r /mnt/iso/* /mnt/usb/*
# ms-sys -7 /dev/sdb*
Nacheteee
fonte