Wie kann ich ein startfähiges CD / USB-Laufwerk erstellen, das ein System automatisch von einer bestimmten, nicht standardmäßigen Festplatte aus bootet?

3861
Zac B

Kontext:

Ich habe ein System, das die Startreihenfolge von Festplatten ständig vergisst. Ich spezifiziere es im BIOS und nach dem nächsten Neustart ist es weg. Mein primäres Startlaufwerk befindet sich auf einer Addon-Karte (SAS-HBA). Das BIOS-Setup-Dienstprogramm der Hauptplatine nimmt die Laufwerke auf dieser Karte problemlos auf. Ich ordne sie jedoch dazu an, die HD-Startreihenfolge des BIOS beim nächsten Neustart zurückzusetzen. Das Laufwerk, auf dem sich eigentlich mein Betriebssystem befindet, befindet sich nie oben, daher startet das System niemals.

Ich kann mich darauf verlassen, dass mein Amnesiac-Server immer versucht, von optischen und USB-Medien zu booten, bevor Festplattenlaufwerke verwendet werden. Die Reihenfolge der Festplatten, auf die es sich selbst zurücksetzt, ist immer gleich (sofern ich die Verkabelung nicht neu ordne).

Was ich versucht habe:

Ich habe versucht, das BIOS zu aktualisieren / zurückzusetzen, um das Wurzelproblem zu beheben, ohne Erfolg. Ich habe die Firmware auf meinem SAS-HBA aktualisiert / zurückgesetzt / neu konfiguriert. Ich habe versucht, den Motherboard-Hersteller bezüglich des offensichtlichen Fehlers zu kontaktieren, und mir wurde mitgeteilt, dass mir keine kostenlosen Support-Optionen zur Verfügung stehen. Die Supportlinie des Herstellers für SAS-HBA-Hersteller sagte mir, ich solle mir ein anderes Motherboard zulegen. Ich habe versucht, einen Chainloader-Bootloader an den Anfang des Laufwerks zu schreiben, das immer ganz oben auf der Liste steht, wodurch mein RAID-Setup zerstört wurde. Ich habe versucht, den SAS-HBA in verschiedene PCIe-Steckplätze zu stecken und die Verbindungsreihenfolge der Laufwerke auf den SATA-Verbindungen des nativen Motherboards und auf dem HBA selbst zu bestimmen. Wenn ich nicht alle SATA-Verbindungen des Motherboards abtrenne, bleibt das Problem bestehen, und ich muss diese Verbindungen herstellen.

Frage:

Ich habe schon fast aufgegeben, die Wurzel des Problems zu lösen (das BIOS vergisst die HD-Startreihenfolge). Vorausgesetzt, ich kann mich darauf verlassen, dass das System versucht, zuerst von USB oder optischen Datenträgern zu booten, und dass die Festplatte, von der ich booten möchte, immer an der gleichen Stelle in der BIOS-Reihenfolge (und vermutlich in den meisten Betriebssystemen die Geräteaufzählung) ist gibt es eine Boot-CD, die ich konfigurieren kann, um das System automatisch von einer beliebig nummerierten Festplatte zu starten?

Meine ideale Lösung würde in etwa so aussehen:

  1. Ich lade ein Auto-Boot-CD / USB-Image herunter.
  2. Ich konfiguriere seine Parameter (etwa "nach 5 Sekunden Timeout, Autoboot von HDD 04"). Dies muss in der Lage sein, eine andere Festplatte als das Standard-Startlaufwerk des BIOS auszuwählen.
  3. Ich lege das Image auf USB oder optische Medien und stecke es in das System.
  4. Bei jedem nachfolgenden Neustart des Systems wird der neue Loader ausgeführt und weist das System automatisch an, vom richtigen Laufwerk zu booten.

Ich bin technisch versiert, habe aber keine Erfahrung mit der manuellen Konfiguration von GRUB oder ähnlichem. Wo soll ich anfangen?

1
Zunächst einmal befindet sich auf dem Motherboard ein kleiner Akku, der die BIOS-Einstellungen auch nach dem Booten ohne Stromversorgung aufrechterhält. Ich würde zuerst die Batterie ersetzen und dann alle Ihre BIOS-Einstellungen wiederholen. Kruug vor 11 Jahren 0
Ich habe bereits ein Powerless Reset, ein Power Reset, ein Reset auf "Load to default settings" und alle oben genannten Schritte nach dem Update des BIOS auf die neueste Version versucht. Zac B vor 11 Jahren 0
Versuchen wir, die Batterie auszutauschen. http://support.dell.com/support/topics/global.aspx/support/kcs/document?c=us&l=de&s=gen&docid=DSN_5A38FC8B0CC6FC94E040AE0AB7E10B10&isLegacy=true Kruug vor 11 Jahren 1
Haben Sie versucht, GRUB zu installieren und die entsprechende Festplatte mit UUID auszuwählen? (UUID ist für jede Festplatte eindeutig und ändert sich nicht) Peter vor 11 Jahren 1
@Zac B: Setzen sich auch andere Änderungen im BIOS zurück? Wenn sie den Rest nicht überspringen. Wenn ja: Hat das Motherboard einen BIOS-Reset-Jumper? Ist es versehentlich eingestellt? Ist dies nicht der Fall, sollten Sie die Batterie gemäß dem Vorschlag von Kruugs austauschen. Hennes vor 11 Jahren 0
Ich habe den Akku gegen ein identisches Netzteil eines neuen Motherboards ausgetauscht, das ich gerade für ein anderes System gekauft habe (ich kann die Motherboards nicht wechseln, obwohl ich wünschte, ich könnte). Problem bleibt bestehen. Alle anderen Einstellungen, die ich geändert habe, bleiben auch nach dem Aus- und Wiedereinschalten bestehen. Nur die HD-Bestellung scheint vergessen zu sein. @Peter: Bitte posten Sie eine Antwort / einen Vorschlag (mit Link!), Wie Sie die UUID ermitteln und konfigurieren, dass GRUB mithilfe einer externen Bootdiskette / USB geladen wird. Zac B vor 11 Jahren 0

1 Antwort auf die Frage

1
Peter

Sie können GRUB installieren und die UUID als Bezeichner für jede Festplattenpartition verwenden, um sicherzustellen, dass der PC immer die richtige Partition startet, obwohl die Festplatten ihre Startreihenfolge im BIOS geändert haben.

Zuallererst schnappen Sie sich einfach eine LiveCD (jeder sollte das tun, ich verwende normalerweise SystemRescueCd . Sobald Sie im Konsolenmodus gebootet wurden (Standardoption), führen Sie den folgenden Befehl aus, um die UUID abzurufen:

ls -l /dev/disk/by-uuid/ 

Das gibt Ihnen etwas wie das Folgende:

localhost ~ # ls -l /dev/disk/by-uuid/ total 0 lrwxrwxrwx 1 root root 10 Feb 22 09:25 0adb57d3-e475-4825-8ff9-32bd82fbd210 -> ../../sda3 lrwxrwxrwx 1 root root 10 Feb 22 09:25 9fb9d595-77b3-458a-b082-80a77d1d2b50 -> ../../sda1 lrwxrwxrwx 1 root root 10 Feb 22 09:25 d1a2c45f-b8dc-4312-a195-853e9364b398 -> ../../sda2 

-> ../../sdaX entspricht / dev / sdaX. Auf diese Weise können Sie alle UUIDs Ihrer Festplattenpartition abrufen. Das obige Beispiel sind Linux-Partitionen. Windows-Partitionen zeigen möglicherweise eine andere UUID an, aber sie sind immer eindeutig.

Nun sollten Sie den USB-Stick, von dem aus Sie das Betriebssystem starten möchten, anschließen und mounten: mount /dev/sdd1 /mnt/pendrive

Dann können Sie GRUB mit dem folgenden Befehl auf Ihrem Pendrive installieren:

grub-install --no-floppy --root-directory=/mnt/pendrive /dev/sdd1 

Um das Gerät zu erhalten, in dem sich der USB-Schlüssel befindet, können Sie ihn ausführen fdisk -l.

Nach der Installation sollten Sie die grub.confDatei bearbeiten und mithilfe der UUID die richtige Partition auswählen:

root (hd0,0) kernel /<kernel_file> root=UUID=4a2464b4-c865-4681-b9d9-5d8aef1e2215  

Eine andere einfachere Methode könnte die Verwendung von SuperGrubDisk sein, die Bootpartitionen finden und auswählen lässt, welche gestartet werden soll .