Obtendo uma instalação existente do Linux a partir de um computador para inicializar em outro

6

Eu tenho uma configuração de estação de trabalho Dell Precision 690 já existente para inicializar duas vezes o Windows XP e o CentOS 5.5. Esses sistemas operacionais são instalados em duas unidades separadas. Eu tenho um menu grub na unidade Linux com ele definido como unidade 1 e aponta para as informações de inicialização do Windows na unidade 2.

Eu tentei pegar o drive linux e instalá-lo em uma nova estação de trabalho HP Z800 para ver se eu poderia ter a sorte de fazer o boot, mas isso não aconteceu. Imediatamente depois de começar a inicialização, recebo alguns erros.

Aqui está o que o sistema mostra:

Logo após essa mensagem Red Hat nash version 5.1.19.6 starting , recebo as seguintes linhas:

Unable to access resume device (LABEL=SWAP-sda2)
mount: could not find filesystem '/dev/root'
setuproot: moving /dev failed: No such file or directory
setuproot: error mounting /proc: No such file or directory
setuproot: error mounting /sys: No such file or directory
switchroot: mount failed: No such file or directory
Kernel panic - not syncing: Attempted to kill init!

Existe algo que eu possa ajustar para conseguir isso possivelmente inicializar? Eu realmente gostaria de não ter que recarregar o CentOS 5.5 e o software especializado nesta máquina.

Eu tenho uma configuração de menu grub nesta unidade, isso poderia por acaso ser o meu problema? As unidades na máquina antiga são configuradas com o Linux como unidade 1 e o Windows como Unidade 2, e a unidade Linux hospeda o menu grub, permitindo que eu inicialize no Linux ou no Windows. Isso poderia ser o problema?

Eu sei de uma forma de contornar isso com o Windows: instale uma placa controladora HDD secundária na máquina, instale os drivers, conecte a unidade ao controlador na máquina antiga e certifique-se de inicializar, mover a unidade e o controlador para a nova máquina e arrancar, carregar os drivers da placa-mãe (especificamente os drivers do controlador de disco rígido) e, em seguida, você pode tirar a placa controladora, conecte o disco rígido diretamente à placa-mãe e você está definido. Essa mesma coisa provavelmente é possível no Linux, mas não tenho certeza. Este pode ser um último esforço para tentar se nada mais funcionar.

    
por DemiSheep 15.01.2011 / 00:51

1 resposta

2

Se você chegar até aqui, significa que o carregador de inicialização carregou o kernel e initrd / initramfs com sucesso, mas o kernel não está encontrando o dispositivo root. Então você deve poder inicializar passando algo como root=/dev/sda42 na linha de comando do kernel.

No prompt do Grub, edite a entrada para o Linux e procure a linha que começa com linux . Nessa linha, deve haver um parâmetro que se pareça com root=/dev/sda42 . Altere para root=/dev/sdb42 , ou seja, uma unidade diferente. A letra atual pode não ser a , e a letra que funciona pode não ser b , mas se você tiver duas unidades, provavelmente só precisará trocar sdb para sda ou vice-versa.

A ordem das letras de unidade no Linux não está relacionada (ou pelo menos não está diretamente relacionada) com a ordem no BIOS, no Grub ou no Windows (depende da ordem em que os drivers são carregados). (Existem maneiras de contornar isso, mas eles não vão ajudá-lo agora).

Ao inicializar, você pode obter erros se as entradas em /etc/fstab não corresponderem aos nomes dos dispositivos de disco atuais. Se você não for capaz de acessar um console de reparo, reinicialize e (além do root= change) adicione init=/bin/sh para soltar diretamente em um shell e, em seguida, execute

mount /proc
mount -o remount,rw /
vi /etc/fstab    # or whatever your favorite editor is
    
por 15.01.2011 / 01:06