O maior problema ao inicializar um arquivo ISO é que os ISOs projetados para serem inicializados quase sempre são projetados para serem inicializados a partir de um CD . Conforme explicado no blog de Marco sobre o Grub 2 (ênfase minha):
O GRUB pode ler imagens ISO9660 ("iso"). Pode, por exemplo, carregar os primeiros setores e inicializá-lo. Mas a maioria das pessoas não percebe é "o que é então?". O que o sistema operacional carregado faria? Provavelmente, procurará um CDROM que não encontrará e falhará.
Portanto, a maneira mais simples de inicializar a partir de um arquivo ISO aleatório é carregá-lo em uma máquina virtual (VirtualBox, VMware ou Virtual PC) como um CD virtual e inicializá-lo lá. Isso quase sempre funciona, porque para a VM não é um arquivo ISO - é um CD real em hardware de CD real.
A inicialização de um arquivo ISO no bare metal é muito mais difícil. Como você faz isso depende de qual versão do Grub você está usando, e os resultados podem variar dependendo do ISO que você está usando e de como foi configurado para inicializar. É por isso que a maioria das ferramentas ISO de inicialização a partir de USB (Unetbootin, WinToFlash, etc) geralmente extrai o conteúdo ISO da unidade - porque dessa forma eles podem ser acessados diretamente, sem confundir o sistema operacional que está sendo inicializado.
Grub 1
... não tenho certeza. Se possível, as entradas do menu provavelmente se parecerão muito com o Grub4DOS, embora eu ache que o comando "map --hook" seja um aprimoramento do Grub4DOS. No lado positivo, o Grub tem um suporte mais amplo ao sistema de arquivos do que o Grub4DOS.
Uma observação no Grub com reiserfs (não confirmado) indica que você "precisa montar sua partição notailpara que ela funcione".
title Boot Hardware Detection Tool from iso image (with 'iso' parameter)
kernel /memdisk iso
initrd /hdt.iso
Você também pode usar um configurador de menus como o MultiBootISOs.exe do PenDriveLinux . Coloque os ISOs na unidade flash e execute o utilitário para instalar o carregador de inicialização e configurar o menu de inicialização.
Aqui está um episódio do Hak5 sobre a instalação do Grub4DOS.
Grub 2
Aqui estão alguns exemplos de entradas do Grub2. No momento, o chainloader não funciona para inicializar um ISO; portanto, essas entradas devem (1) usar loopback para "montar" o ISO e (2) adicionar algo como iso-scan ou findiso à linha linux que especifica o arquivo ISO.
Infelizmente, não há uma maneira genérica de fazer isso. Cada entrada de inicialização diferente deve ser personalizada para o conteúdo da ISO de destino. A maioria dos LiveCDs do Linux usa o ISOLINUX como um gerenciador de inicialização; encontre o isolinux.cfg e examine essa entrada de inicialização para ver o que normalmente inicializa.
@ albert: estou usando o Grub2 em uma unidade flash e fiquei frustrado com as mesmas coisas, por isso não foi difícil de montar. Estou analisando sua outra pergunta, mas nunca tentei "gravar" um ISO em uma partição antes, portanto pode ser ... interessante.
quack quixote
Ofc Eu posso inicializá-lo dentro do VMware (e já o fiz), mas isso não me ajuda muito porque é o Windows e quando eu o instalo através do VMware no meu disco, ele não inicializa mais tarde (Windows estúpido ...).
Albert
Você pode me dar uma sugestão de qual opção devo tentar primeiro, por exemplo, Grub1, Grub2 ou Grub4DOS? Posso apenas instalar o que for necessário, que realmente não será o problema.
Albert
@ Albert: você está perguntando em referência à sua pergunta anterior? acredito que sua melhor aposta é usar o método de extração; o instalador do Windows é um desses ISOs que apresentam problemas quando não são inicializados a partir do hardware. você pode tentar o memtest, mas eu não sei muito sobre isso. você provavelmente deseja obter uma unidade flash e usá-la; consulte superuser.com/questions/66948/… ou superuser.com/questions/62193/install-win7-from-usb
quack quixote
11
@quackquixote, com relação às palavras em negrito "O que o sistema operacional carregado faria? Ele provavelmente procurará um CD-ROM, que não encontrará e falhará" , por que o sistema operacional precisa procurar um CD-ROM? Já é um arquivo iso perfeito e tudo o que é necessário para carregar o sistema operacional já está dentro do arquivo iso, então por que ele não pode pular a procura de CDROMs?
precisa saber é o seguinte
1
Você pode usar o dd do terminal para gravar um arquivo iso em uma partição. Apenas tome cuidado, se você usar dd errado, poderá limpar tudo. Deve ser algo como isto: dd if = Desktop / LinuxCDFile.iso de = / Path / To / Partition
Respostas:
O maior problema ao inicializar um arquivo ISO é que os ISOs projetados para serem inicializados quase sempre são projetados para serem inicializados a partir de um CD . Conforme explicado no blog de Marco sobre o Grub 2 (ênfase minha):
Portanto, a maneira mais simples de inicializar a partir de um arquivo ISO aleatório é carregá-lo em uma máquina virtual (VirtualBox, VMware ou Virtual PC) como um CD virtual e inicializá-lo lá. Isso quase sempre funciona, porque para a VM não é um arquivo ISO - é um CD real em hardware de CD real.
A inicialização de um arquivo ISO no bare metal é muito mais difícil. Como você faz isso depende de qual versão do Grub você está usando, e os resultados podem variar dependendo do ISO que você está usando e de como foi configurado para inicializar. É por isso que a maioria das ferramentas ISO de inicialização a partir de USB (Unetbootin, WinToFlash, etc) geralmente extrai o conteúdo ISO da unidade - porque dessa forma eles podem ser acessados diretamente, sem confundir o sistema operacional que está sendo inicializado.
Grub 1
... não tenho certeza. Se possível, as entradas do menu provavelmente se parecerão muito com o Grub4DOS, embora eu ache que o comando "map --hook" seja um aprimoramento do Grub4DOS. No lado positivo, o Grub tem um suporte mais amplo ao sistema de arquivos do que o Grub4DOS.
Uma observação no Grub com reiserfs (não confirmado) indica que você "precisa montar sua partição
notail
para que ela funcione".Memdisk é uma opção; ver abaixo.
Grub4DOS
O Grub4DOS oferece algumas "emulações de CD" experimentais que funcionam com algumas ISOs. Infelizmente, o Grub4DOS apenas lê sistemas de arquivos FAT32 / NTFS. Faça o download do Grub4DOS.
Aqui está uma entrada de amostra ( fonte ):
Supostamente, o ISO do Win7 pode ser inicializado com esta entrada :
Outros ISOs podem ser inicializados com o Memdisk :
Você também pode usar um configurador de menus como o MultiBootISOs.exe do PenDriveLinux . Coloque os ISOs na unidade flash e execute o utilitário para instalar o carregador de inicialização e configurar o menu de inicialização.
Aqui está um episódio do Hak5 sobre a instalação do Grub4DOS.
Grub 2
Aqui estão alguns exemplos de entradas do Grub2. No momento, o chainloader não funciona para inicializar um ISO; portanto, essas entradas devem (1) usar loopback para "montar" o ISO e (2) adicionar algo como iso-scan ou findiso à linha linux que especifica o arquivo ISO.
Infelizmente, não há uma maneira genérica de fazer isso. Cada entrada de inicialização diferente deve ser personalizada para o conteúdo da ISO de destino. A maioria dos LiveCDs do Linux usa o ISOLINUX como um gerenciador de inicialização; encontre o isolinux.cfg e examine essa entrada de inicialização para ver o que normalmente inicializa.
Entradas de exemplo ( origem ):
Se você está tentando inicializar um LiveCD não Linux, pode estar sem sorte. Novamente, o Memdisk pode ajudar :
fonte
Você pode usar o dd do terminal para gravar um arquivo iso em uma partição. Apenas tome cuidado, se você usar dd errado, poderá limpar tudo. Deve ser algo como isto: dd if = Desktop / LinuxCDFile.iso de = / Path / To / Partition
fonte