Debian auf externe Festplatte installieren?

Du kommst mit der Installation nicht voran oder willst noch was nachfragen? Schau auch in den "Tipps und Tricks"-Bereich.
Antworten
ricksanchez
Beiträge: 48
Registriert: 06.03.2017 14:51:18

Debian auf externe Festplatte installieren?

Beitrag von ricksanchez » 26.04.2017 08:01:50

Hi,

ich habe gestern erfolglos versucht Debian auf eine Partition meiner externen Festplatte zu installieren. Leider hat mir Grub dann meine alte Grub-Konfiguration meiner internen Debian-Festplatte zerschossen.
Dieses Problem konnte ich zum Glück recht leicht fixen.
Habe im Internet nach Anleitungen gesucht aber irgendwie immer nur unendliche Foreneinträge gefunden die am Ende sich in Randdiskussionen verloren haben.

Kann vielleicht hier jemand eine Anleitung zur Verfügung stellen wie man Debian auf eine einzige Partition einer externen Festplatte installiert? Auch so das diese einen eigenen Grub-Loader bekommt? Das wäre mehr als klasse. :THX: Natürlich sollte man von der externe Platte booten können.

Warum nur auf eine Partition? Möchte auf dieser Partition das Betriebssystem für meine Zwecke vorbereiten und dann als ISO-Image speichern und auf einen USB-Stick klonen.

Grüße

pferdefreund
Beiträge: 3799
Registriert: 26.02.2009 14:35:56

Re: Debian auf externe Festplatte installieren?

Beitrag von pferdefreund » 26.04.2017 08:25:04

Wie wäre es denn mit lilo oder syslinux als Bootloader im MBR der externen Platte. Falls die allerdings gpt partitioniert ist - keine Ahnung wie es dann geht.

Benutzeravatar
hikaru
Moderator
Beiträge: 13909
Registriert: 09.04.2008 12:48:59

Re: Debian auf externe Festplatte installieren?

Beitrag von hikaru » 26.04.2017 09:03:08

Du musst nur während der Grub-Installation darauf achten, wohin es installiert wird. Standardmäßig will der Debianinstaller Grub in den MBR der ersten HDD (sda) installieren. Das willst du in diesem Fall nicht, daher musst du ein alternatives Ziel angeben. Das kannst du entweder aus einer Liste auswählen oder von Hand eingeben.

(Ich gehe hier vom Textmodus-Experteninstaller aus. Die anderen Modi sollten sich genauso verhalten, aber ich lege dafür nicht meine Hand in's Feuer.)

Benutzeravatar
smutbert
Beiträge: 8342
Registriert: 24.07.2011 13:27:39
Wohnort: Graz

Re: Debian auf externe Festplatte installieren?

Beitrag von smutbert » 26.04.2017 10:06:07

ricksanchez hat geschrieben:Warum nur auf eine Partition?
Unter Umständen kommst du nicht mit nur einer Partition aus. Wenn der Stick bzw. die Festplatte mit gpt partitioniert ist, brauchst du für grub-pc eine BIOS Boot Partition oder, wenn du mittels uefi booten willst unabhängig von der Methode der Partitionierung eine EFI System Partition (alternativ geht meistens auch eine beliebige mit FAT formatierte Partition).

Wenn du einen Stick oder eine externe Festplatte mit einem installierten Debian haben willst, der auch noch auf möglichst vielen Systemen booten können soll, dann könntest du dir http://wiki.debianforum.de/Ein_Notfalls ... stallieren ansehen.

ricksanchez
Beiträge: 48
Registriert: 06.03.2017 14:51:18

Re: Debian auf externe Festplatte installieren?

Beitrag von ricksanchez » 26.04.2017 19:03:50

pferdefreund hat geschrieben:Wie wäre es denn mit lilo oder syslinux als Bootloader im MBR der externen Platte.
Hm ich glaube lilo ist schon eher das veraltete Bootloader-Modell...syslinux sagt mir bisher nicht besonders viel. Werde mich da aber mal einlesen. Tatsächlich wäre mir grub aber am Liebsten da es standartmäßig bei Debian dabei ist.
hikaru hat geschrieben:Du musst nur während der Grub-Installation darauf achten, wohin es installiert wird. Standardmäßig will der Debianinstaller Grub in den MBR der ersten HDD (sda) installieren. Das willst du in diesem Fall nicht, daher musst du ein alternatives Ziel angeben. Das kannst du entweder aus einer Liste auswählen oder von Hand eingeben.

(Ich gehe hier vom Textmodus-Experteninstaller aus. Die anderen Modi sollten sich genauso verhalten, aber ich lege dafür nicht meine Hand in's Feuer.)
Genau das hat mit gestern gefehlt. Der Installer hat den einfach drauf geknallt. Werde im Textmodus danach ausschau halten!
smutbert hat geschrieben:Unter Umständen kommst du nicht mit nur einer Partition aus. Wenn der Stick bzw. die Festplatte mit gpt partitioniert ist, brauchst du für grub-pc eine BIOS Boot Partition oder, wenn du mittels uefi booten willst unabhängig von der Methode der Partitionierung eine EFI System Partition (alternativ geht meistens auch eine beliebige mit FAT formatierte Partition).
Das mit mehreren Partitionen wäre nicht sehr schlimm. Das kann ich in kauf nehmen. Dennoch habe ich noch eine Frage. Wenn ich nur mit BIOS arbeiten wollen würde bräuchte ich eine BIOS-Partition. Wenn ich mit UEFI arbeite ist es dann egal ob es ein UEFI-BIOS ist oder nur UEFI?
smutbert hat geschrieben:Wenn du einen Stick oder eine externe Festplatte mit einem installierten Debian haben willst, der auch noch auf möglichst vielen Systemen booten können soll, dann könntest du dir http://wiki.debianforum.de/Ein_Notfalls ... stallieren ansehen.
Genau das möchte ich haben. Ein externes Medium das auf so vielen Rechnern wie möglich funktioniert. Vielen Dank. Werde den Link gleich mal durch exerzieren... :D Melde mich dann nochmal ob es geklappt hat oder nicht.

Ach eine Frage noch...der Stick in der Anleitung erstellt wird ist dann auch persistent oder? Es ist ja kein Livesystem das man dort installiert. Kann ich das System auf dem Stick wie ein normales Linux bearbeiten, ändern und diie Änderungen bleiben bestehen?

Benutzeravatar
smutbert
Beiträge: 8342
Registriert: 24.07.2011 13:27:39
Wohnort: Graz

Re: Debian auf externe Festplatte installieren?

Beitrag von smutbert » 26.04.2017 22:23:37

ricksanchez hat geschrieben:[…]Wenn ich nur mit BIOS arbeiten wollen würde bräuchte ich eine BIOS-Partition. Wenn ich mit UEFI arbeite ist es dann egal ob es ein UEFI-BIOS ist oder nur UEFI?[…]
zwischen UEFI und UEFI-BIOS würde ich nicht unterscheiden - damit ist normalerweise dasselbe gemeint. So gut wie alle Systeme mit UEFI können auch im BIOS/Legacy-Modus booten und verhalten sich dann wie Systeme mit normalem BIOS.

Ob nun eine BIOS Boot Partition notwendig ist hängt von der Partitionierung und der Art zu booten ab. Bei der altmodischen Partitionierungsart mittels MBR und einem normalen BIOS bzw. dem Legacy/BIOS-Modus eines UEFI-Systems ist keine eigene (BIOS Boot) Partition notwendig. Der Bootloader grub-pc braucht sie nur bei gpt-Partitionierung.

Wird dagegen im UEFI Modus gebootet ist unabhängig von der Art der Partitionierung eine Partition mit einem Dateisystem notwendig, das das UEFI selbst lesen kann und diese Funktion übernimmt normalerweise eine mit FAT formatierte EFI System Partition.

ricksanchez
Beiträge: 48
Registriert: 06.03.2017 14:51:18

Re: Debian auf externe Festplatte installieren?

Beitrag von ricksanchez » 28.04.2017 16:40:39

Vielen Dank für die Infos. Dann bin ich an der Front auch mal wieder up-to-date :idea:

Nun, ich habe den Link durchgearbeitet und auch einen laufendes persistentes Debian-System direkt auf dem USB-Stick zum Laufen gebracht. Nur ist entweder eine Sache in der Anleitung lückenhaft oder ich verstehe das noch nicht so ganz.

Und zwar soll man laut Anleitung drei Partitionen erstellen. In meinem Fall:

/dev/sdb1 - für die EFI-PARTITION
/dev/sdb2 - für die BIOS-Partition
/dev/sdb3 - für die Daten/Debian

Formatieren soll man dann /dev/sdb1 sowie /dev/sdb3 aber nicht /dev/sdb2. Es wirddanach nicht mehr auf das formatieren der BIOS-Partition der eingegangen. Wenn ich dann pc-grub installiert habe und das Kommando:

Code: Alles auswählen

grub-install --boot-directory=/boot/efi/EFI /dev/sdb
ausführe, erscheinen Error-Meldungen das multiple Partitionen auf dem Stick existieren und deshalb pc-grub-Bootloader nicht eingerichtet werden kann.

Nun frage ich mich ob das überhaupt korrekt ist am Ende des Kommandos einfach nur den kompletten Stick, sprich /dev/sdb anzugeben und als Bootdirectory den EFI-Ordner zu nehmen? Ich könnte mir durchaus vorstellen, dass es vielleicht /dev/sdb2 sein sollte...ich bin mir da nicht sicher.
In der Aneitung hat man die EFI-Partition mit

Code: Alles auswählen

mount /dev/sdb1 /boot/efi
in /boot/efi gemountet. Müsste man das nicht auch mit der BIOS-Partition machen? Nur in welchem Format formatiert man dann die BIOS-Partition?

Das mit dem pc-grub für BIOS-Geräte hat nicht geklappt. Alles Andere schon. Ich bin sehr dankbar für diese tolle Anleitung. Wenn das noch mit der BIOS-Partition klappt wäre ich wunschlos glücklich :)

Benutzeravatar
smutbert
Beiträge: 8342
Registriert: 24.07.2011 13:27:39
Wohnort: Graz

Re: Debian auf externe Festplatte installieren?

Beitrag von smutbert » 28.04.2017 17:40:46

Eine BIOS Boot Partition wird überhaupt nicht formatiert und kann daher auch nicht gemountet werden - eine kurze Erklärung:

grub-pc teilt sich selbst in mehrere Teile, weil der MBR alleine nicht groß genug ist. Die ersten Stücke landen klassischerweise im MBR und den darauffolgenden Sektoren. Das funktioniert aber nur bei mbr-partitionierten Datenträgern, weil bei gpt die Partitionstabelle direkt auf den MBR folgt, dieser Platz also schon belegt ist.
Ersatzweise stellt man grub also nun eine BIOS Boot Partition zur Verfügung, die grub automatisch nutzt und die kein Dateisystem enthält sondern in die nur ein Stück nackter grub geschrieben wird..

Wieso grub-install von grub-pc bei dir scheitert kapiere ich allerdings noch nicht - kannst du die genaue Fehlermeldung posten und eventuell gleich die Partitionierung mit dazu

Code: Alles auswählen

fdisk -l /dev/sdb
gdisk -l /dev/sdb

ricksanchez
Beiträge: 48
Registriert: 06.03.2017 14:51:18

Re: Debian auf externe Festplatte installieren?

Beitrag von ricksanchez » 30.04.2017 23:56:31

Hier einmal die Meldung die nach dem Kommando grub-install --boot-directory=/boot/efi/EFI /dev/sdb kommt:

Code: Alles auswählen

Installing for i386-pc platform.
grub-install: warning: Attempting to install GRUB to a disk with multiple partition labels.  This is not supported yet..
grub-install: warning: Embedding is not possible.  GRUB can only be installed in this setup by using blocklists.  However, blocklists are UNRELIABLE and their use is discouraged..
grub-install: error: will not proceed with blocklists.
fdisk -l /dev/sdb:

Code: Alles auswählen

[Disk /dev/sdb: 30.1 GiB, 32348569600 bytes, 63180800 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 39FE460E-AF41-4982-92A4-4A8C12C42039

Device       Start      End  Sectors  Size Type
/dev/sdb1     2048  4196351  4194304    2G EFI System
/dev/sdb2  4196352  4401151   204800  100M BIOS boot
/dev/sdb3  4401152 63180766 58779615   28G Linux filesystem
gdisk -l /dev/sdb:

Code: Alles auswählen

GPT fdisk (gdisk) version 1.0.1

Partition table scan:
  MBR: protective
  BSD: not present
  APM: not present
  GPT: present

Found valid GPT with protective MBR; using GPT.
Disk /dev/sdb: 63180800 sectors, 30.1 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): 39FE460E-AF41-4982-92A4-4A8C12C42039
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 63180766
Partitions will be aligned on 2048-sector boundaries
Total free space is 2014 sectors (1007.0 KiB)

Number  Start (sector)    End (sector)  Size       Code  Name
   1            2048         4196351   2.0 GiB     EF00  EFI.RESCUE
   2         4196352         4401151   100.0 MiB   EF02  BIOSBOOT.RESCUE
   3         4401152        63180766   28.0 GiB    8300  BTRFS.RESCUE
Habe noch versucht über die Logfiles in /var/log herauszufinden. Habe dort aber nicht viel finden können...

Benutzeravatar
smutbert
Beiträge: 8342
Registriert: 24.07.2011 13:27:39
Wohnort: Graz

Re: Debian auf externe Festplatte installieren?

Beitrag von smutbert » 01.05.2017 11:06:22

Die erste Meldung könnte von Überbleibseln früherer Partitionierungen des Sticks bzw. der Festplatte herrühren. Wenn es das ist, müsste es helfen den Bereich vor der ersten Partition mit Nullen zu überschreiben, aber ich weiß nicht wo genau die gpt aufhört (und damit wo man mit dem Überschreiben anfangen müsste) und es wär mir zu riskant dir dieses Vorgehen zu empfehlen.
Als mögliche Notlösung fällt mir als erstes die Möglichkeit ein es mit

Code: Alles auswählen

grub-install --force --boot-directory=/boot/efi/EFI /dev/sdb
zu versuchen. Ernsthaft schiefgehen kann dabei eigentlich nichts.

Die zweite Meldung, dass das Embedding nicht möglich ist, verunsichert mich etwas mehr, denn genau dagegen sollte die BIOS Boot Partition helfen - möglicherweise hilft das --force aber trotzdem. Ich werd mir das ganze noch etwas genauer ansehen.

DeletedUserReAsG

Re: Debian auf externe Festplatte installieren?

Beitrag von DeletedUserReAsG » 01.05.2017 11:29:42

Die zweite Meldung, dass das Embedding nicht möglich ist, verunsichert mich etwas mehr, denn genau dagegen sollte die BIOS Boot Partition helfen
Dazu müsste die BIOS-Bootpartition an erster Stelle sein, oder?

Benutzeravatar
smutbert
Beiträge: 8342
Registriert: 24.07.2011 13:27:39
Wohnort: Graz

Re: Debian auf externe Festplatte installieren?

Beitrag von smutbert » 01.05.2017 11:39:19

eigentlich nicht - zumindest habe ich nirgendwo gelesen, dass das notwendig wäre, sondern ganz im Gegenteil dass es egal ist wo die Partition ist und welche Nummer sie hat - bei mir hat es bis jetzt jedenfalls immer funktioniert. Ich meine die BIOS Boot Partition kann doch ohnehin nicht genau an der Stelle auf der HDD sein, wo Grub sich normalerweise einbetten würde, weil dort schon die gpt ist...

Ich werde meine Anleitung aber noch einmal selbst befolgen und ein paar Dinge ausprobieren.

Benutzeravatar
Teddybear
Beiträge: 3163
Registriert: 07.05.2005 13:52:55
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Altomünster
Kontaktdaten:

Re: Debian auf externe Festplatte installieren?

Beitrag von Teddybear » 01.05.2017 11:53:22

Also zum einen ist 2GB für die EFI partition überdimensioniert, und die Bios boot partition braucht nur 1MB, und wird in der Regel hinter der EFI partition frei gelassen.
Versuchungen sollte man nachgeben. Wer weiß, ob sie wiederkommen!
Oscar Wilde

Mod-Voice / My Voice

Benutzeravatar
smutbert
Beiträge: 8342
Registriert: 24.07.2011 13:27:39
Wohnort: Graz

Re: Debian auf externe Festplatte installieren?

Beitrag von smutbert » 01.05.2017 16:13:03

Beides ist mir klar, aber mein Vorgehen ist trotzdem durchaus Absicht:

Die BIOS Boot Partition erfüllt, soweit ich das beurteilen kann, einen ähnlichen Zweck wie die "New World Bootpartition" auf einigen PowerPC-Computern wie zB den späteren Apple-PCs mit PowerPC-CPU. Und da kann ich mich noch sehr genau erinnern, dass es geheißen hat man brauche für den Bootloader - üblich war Debianyaboot - weniger als 1 MB. Also habe ich den Partitionierungsvorschlag vom Debianinstaller übernommen, der eine Partition < 1MB angelegt hat.
Kurze Zeit später ist für diese Architektur in Debian Debiangrub-ieee1275 erschienen und ich hab mich über die Aussicht gefreut yaboot loszuwerden. Allerdings hat sich herausgestellt, dass grub eine etwas größere "New World Bootpartition" benötigt, ich glaube es war etwas mehr als 1 MB.
Seitdem lege ich solche Partitionen ohne zu zögern etwas größer an als notwendig - 100 MB mehr oder weniger machen sich auch auf USB-Sticks nur sehr selten bemerkbar.

Dass die BIOS Boot Partition meist direkt hinter der gpt angelegt wird hat soweit ich weiß hauptsächlich den Grund, dass das der einzige freie Platz ist, wenn man auf einem fertig installierten System bemerkt, dass man doch eine BIOS Boot Partition benötigt :mrgreen:
Wenn man aber die BIOS Boot Partition von vornherein einplant, hat das auch den Vorteil, dass man sie an den Sektorgrenzen ausrichten kann, wofür sonst uU der Platz fehlt.


Bei der EFI System Partition gibt es noch weitere Gründe die Partition etwas größer als notwendig anzulegen.
Man kann dort weitere UEFI-Programme ablegen, wie zB eine EFI-Shell, einen weiteren/anderen Bootmanager/-loader wie Debianrefind, man benötigt sie uU für Firmwareupdates des Computers, man kann Live-iso-Images ablegen und mittels grub von dort booten und man kann nicht zuletzt auch den Kernel oder eventuell gleich den ganzen Inhalt von /boot dort ablegen und dann ohne Bootloader den Kernel direkt vom UEFI laden lassen.

Antworten