Forum: PC Hard- und Software Debian bootet nicht von externem USB HDD


von Lothar (Gast)


Lesenswert?

Habe versucht, auf einem Rechner mit Win 10 auf dem internen HDD, Debian 
auf einem externen USB HDD zu installieren. Also im Installer sdb 
ausgewählt, und schien erst mal zu funktionieren. Dann hat der Installer 
gefragt, grub auf sda oder sdb, und habe sdb ausgewählt, denn sonst 
könnte ich ja gleich mit sda Dual-Boot machen, und bräuchte kein 
externes USB HDD. Das hat aber nicht funktioniert, das externe USB HDD 
bootet nicht, es kommt nur ein blinkender Unterstrich.

Habe dann mit Debian Live-System von USB-Drive gestartet, und so wie es 
aussieht, gibt es auf sdb keine grub Partition:

Disk /dev/sdb: 238.5 GiB, 256060514304 bytes, 500118192 sectors
Disk model: TREKSTOR I.GEAR
Device     Boot     Start       End   Sectors   Size Id Type
/dev/sdb1           65535 483648299 483582765 230.6G 83 Linux
/dev/sdb2       483713833 500097584  16383752   7.8G  5 Extended
/dev/sdb5       483713835 500097584  16383750   7.8G 82 Linux swap / 
Solaris

Zum Vergleich das Live-System auf USB-Drive:

Disk /dev/sdc: 58.6 GiB, 62914560000 bytes, 122880000 sectors
Disk model: Alu Line
Device     Boot Start     End Sectors  Size Id Type
/dev/sdc1  *        0 6038399 6038400  2.9G  0 Empty
/dev/sdc2        5220   15235   10016  4.9M ef EFI (FAT-12/16/32)

Seltsamerweise gibt es in der sdb Debian Partition ein /boot/grub - nur 
da nützt es ja wenig.

Was kann ich nun noch machen?

Was auch nicht funktioniert hat: Auf einem Rechner mit grub/Debian auf 
dem internen HDD, das Debian auf dem externen USB HDD direkt zu booten. 
Der "interne" grub sieht das "externe" Debian nicht.

von ... (Gast)


Lesenswert?

Lothar schrieb:

> Device     Boot     Start       End   Sectors   Size Id Type
> /dev/sdb1           65535 483648299 483582765 230.6G 83 Linux



kein bootflag

von Lothar (Gast)


Lesenswert?

... schrieb:
> kein bootflag

Und was mache ich jetzt? Das hätte doch der Debian Installer bei Auswahl 
grub nach sdb machen sollen. Zudem, ohne grub Partition auf sdb, was 
nutzt dann ein Boot Flag?

von Bauform B. (bauformb)


Lesenswert?

Lothar schrieb:
> Zudem, ohne grub Partition auf sdb, was
> nutzt dann ein Boot Flag?

Wer weiß schon, wie grub funktioniert? Evt. braucht es keine Partition 
bzw. benutzt die sdb1. Das Bootflag zu setzen ist auf jeden Fall einen 
Versuch wert.

Wenn das wider Erwarten auch nicht hilft, könntest du dir syslinux 
anschauen (nicht extlinux). Diesen Bootloader könntest zusätzlich in die 
freien 30MB am Anfang des Sticks schreiben ("installieren" wäre 
übertrieben). Installieren muss du das Paket syslinux auf irgendeinem 
laufenden Linux.

+ passt auch nachträglich noch auf den Stick
+ völlig unabhängig vom installierten Debian
+ die erste Partition kann FAT sein = der Stick sieht für Windows völlig 
normal aus
+ keine Überraschungen durch Updates
+ keinerlei Automatik, er macht genau, was du ihm sagst
- keinerlei Automatik, du musst alles selbst einrichten
- Updates müssen bei Bedarf von Hand gemacht werden
- die 30MB reichen u.U. nur für einen Kernel

von Drago S. (mratix)


Lesenswert?

Bauform B. schrieb:
> Wer weiß schon, wie grub funktioniert? Evt. braucht es keine Partition
> bzw. benutzt die sdb1. Das Bootflag zu setzen ist auf jeden Fall einen
> Versuch wert.
Man muss hierfür weder experimentieren, spekulieren noch groß 
diskutieren.
Da fehlt einfach nur die aktive Partition.

Lothar schrieb:
> Und was mache ich jetzt?
Mit Live booten, eine Shell ausführen
1
fdisk /dev/sdb
2
a
3
1
4
w
5
reboot

Beim Start (BIOS Postscreen) die USB-Disk wählen, fertig. Mehr ist da 
wirklich nicht.

: Bearbeitet durch User
von Lothar (Gast)


Lesenswert?

Soweit bin ich inzwischen auch, jetzt kommt der Test ...

Disk /dev/sdb: 238.5 GiB, 256060514304 bytes, 500118192 sectors
Disk model: TREKSTOR I.GEAR
Device     Boot     Start       End   Sectors   Size Id Type
/dev/sdb1  *        65535 483648299 483582765 230.6G 83 Linux
/dev/sdb2       483713833 500097584  16383752   7.8G  5 Extended
/dev/sdb5       483713835 500097584  16383750   7.8G 82 Linux swap / 
Solaris

von Lothar (Gast)


Lesenswert?

Das sdb1 Boot Flag hat erwartungsgemäß keine Wirkung. Soweit ich das 
verstanden habe, würde das nur erkannt, wenn auf sda das Win 10 MBR 
nutzen würde, ist aber GPT

Da das Live-System eine EFI Partition hat, und bootet, könnte ich mal 
versuchen, Debian auf sdb nochmal zu installieren, mit force UEFI

Da gab es zwar eine Warnung, dass danach kein Legacy Boot mehr 
funktioniert, also z.B. das Win 7, aber das sollte ja egal sein, denn es 
wird ja auf sdb installiert, und nicht auf sda. Wenn der Installer 
keinen Mist baut. Sonst darf ich dann auch noch das Backup 
wiederherstellen.

von Drago S. (mratix)


Lesenswert?

Sehr skuril. Schalte doch (U)EFI ab und wechsle auf legacy boot.
Das Ding muss booten. Die USB-Disk hat einen MBR, der Grub ist drauf und 
sollte sich mit dem Bootmenü oder einem Fehler melden. So lange das 
nicht passiert wird die Disk nicht angesprochen.

Sollte die Installation fehlerhaft beendet oder abgebrochen sein kannst 
du den letzten Schritte (Bootloader) nachholen. Dazu im Recovery booten 
und dort die Start/Bootumgebung reparieren lassen. Das sorgt für einen 
korrekten Grub, die initramfs usw. dass es richtiggestellt wird. Auch 
dein Windows von sda1 auftaucht.

Händisch geht das ganze auch, Stichwortartig: mount partitions, chroot, 
grub-mkconfig, update-grub, update-initramfs. Ausführliche 
chroot-Anleitungen gibt es im Netz genug.

Ansonsten, falls du das ganze reinstallieren planst, vielleicht eine 
andere Partitionierung wählen. LVM schadet nicht. Und über 
verschlüsseltes LVM kann man auch nachdenken. Eine 8GB swap benötigst du 
bestimmt nicht.

: Bearbeitet durch User
von Lothar (Gast)


Lesenswert?

Bin jetzt testweise an einem anderen Rechner mit Debian auf dem internen 
HDD

Die sda sieht anders aus als meine Installation auf dem externen USB HDD 
sdb: Die 1. Partition hat einen anderen Start. Auf sdb sind davor noch 
32 MB unallocated.

Disk /dev/sda: 931.5 GiB, 1000204886016 bytes, 1953525168 sectors
Disk model: TOSHIBA MQ01ABD1
Device     Boot      Start        End    Sectors   Size Id Type
/dev/sda1  *          2048 1936928767 1936926720 923.6G 83 Linux
/dev/sda2       1936930814 1953523711   16592898   7.9G  5 Extended
/dev/sda5       1936930816 1953523711   16592896   7.9G 82 Linux swap / 
Solaris

Disk /dev/sdb: 238.5 GiB, 256060514304 bytes, 500118192 sectors
Disk model: TREKSTOR I.GEAR
Device     Boot     Start       End   Sectors   Size Id Type
/dev/sdb1  *        65535 483648299 483582765 230.6G 83 Linux
/dev/sdb2       483713833 500097584  16383752   7.8G  5 Extended
/dev/sdb5       483713835 500097584  16383750   7.8G 82 Linux swap / 
Solaris

Weiter sieht /boot/grub anders aus:

ls /boot/grub
fonts  grub.cfg  grubenv  i386-pc  locale  unicode.pf2

ls /media/exthdd/boot/grub
grub.cfg  unicode.pf2

Und das obwohl beide mit dem selben Installer gemacht wurden. Einziger 
Unterschied: nach sdb statt nach sda und grub auf sdb statt sda

Wie bekomme ich sdb wie sda mit dem Installer hin? Möglichst ohne sda 
dafür ausbauen zu müssen.

von ... (Gast)


Lesenswert?

> Weiter sieht /boot/grub anders aus:

lese dir mal ggf. die zwei Artikel durch.
Dazu wie sich eine debian inst. aktuell gestaltet kann ich nichts sagen.
Du hast das vermutlich traditionell in den MBR geschrieben


legacy-bios-vs-uefi-bios


On Debian-based Linux distros, there are two versions of Grub boot 
manger.

grub-efi
grub-pc

https://www.linuxbabe.com/desktop-linux/legacy-bios-vs-uefi-bios


---

how-to-use-linux-efibootmgr-examples


x86_64-efi means that we are going to install Grub for UEFI firmware. 
The default target is i386-pc, which is for traditional BIOS firmware.

https://www.linuxbabe.com/command-line/how-to-use-linux-efibootmgr-examples

gute Nacht.

von Lothar (Gast)


Lesenswert?

... schrieb:
> legacy-bios-vs-uefi-bios

Es ist Legacy Boot / Secure Boot Off und funktioniert dennoch nicht.

Da aber das Live-System mit EFI (FAT-12/16/32) sowohl unter UEFI als 
auch unter Legacy bootet, bleibt mir wohl nur die Neuinstallation mit 
EFI. Wenn das funktioniert, wird man sdb auch unter Win 10 sehen können.

Der Versuch grub nachträglich manuell auf sdb zu installieren, ist 
fehlgeschlagen. Zwar sind jetzt alle grub Dateien vorhanden. Aber grub 
startet dennoch nicht von sdb - es ist sogar noch schlimmer geworden, 
wenn sdb dran ist, startet Debian von sda nur noch im Recovery

von Drago S. (mratix)



Lesenswert?

Lothar schrieb:
> Debian
> auf einem externen USB HDD zu installieren

> Disk model: TREKSTOR I.GEAR
Das ist keine USB HDD.

https://blog.notebooksbilliger.de/trekstor-i-gear-prime-ssd-stick-kompakte-ssd-im-kurztest/
[..]Ist das Gehäuse geöffnet, kommt die verbaute SSD zum Vorschein. 
Konkret handelt es sich um ein M.2 SATA Modul im Formfaktor 2242, wie 
man sie von Trekstor bereits kennt.[..]

Wer weiss was der miniSATA 2 USB Controller da macht oder verweigert.
Ausbauen, einmal komplett formatieren d.h. mit "o" leere 
Partitionstabelle schreiben und durchpartitionieren. Dann erneut 
installieren.

Wenn du das nicht möchtest, nimm einen kleinen USB-Stick und installiere 
darauf den Grub und nutze ihn (den Stick) als /boot. Mit dem könntest du 
dann beide OS booten.

von Lothar (Gast)


Lesenswert?

Es funktioniert!!

Rescatux konnte grub auf die externe USB HDD Partition sdb1 schreiben!!

https://www.supergrubdisk.org/rescatux/

Mister A. schrieb:
> was der miniSATA 2 USB Controller da macht

Offensichtlich hat Debian 10 einen passenden Treiber. Laut Trekstor soll 
es ja auch eine "normale" USB SSD im USB Drive Form Faktor sein.

Woran es nun lag, weiss ich auch nicht. Es sieht so aus, als hätte der 
Debian Installer grub nicht nach sdb1 schreiben können. Warum es 
Rescatux/Rescapp nun konnte, keine Ahnung ...

Jedenfalls scheint alles so zu sein wie es soll: Win 10 bootet ohne und 
mit Trekstor dran, und Trekstor bootet grub/Debian vom F12 Boot Menü 
aus. Ich bin also endlich dem Dual-Boot entkommen.

Es funktioniert sogar auf anderen - ähnlichen - Rechnern, als auf dem, 
wo der Installer gelaufen ist.

von Drago S. (mratix)


Lesenswert?

Da wurde nur ein bit umgekippt, welches zuständig ist das Medium als USB 
HDD/FDD/ZIP/CD etc. zu erkennen.

Guck im BIOS Postscreen, dort wird es im Klartext angezeigt.

Lothar schrieb:
> Es funktioniert sogar auf anderen - ähnlichen - Rechnern, als auf dem,
> wo der Installer gelaufen ist.
Das ist der Vorteil von Linux und Generic Kernel, der macht jeden 
Hardwarewechsel mit :)

Bitte jetzt bloß nicht anfangen einen Zauberstick für 
Windows-Passwordreset zu generieren um Unfug zu treiben.

von Lothar (Gast)


Lesenswert?

Mister A. schrieb:
> Da wurde nur ein bit umgekippt, welches zuständig ist das Medium als USB
> HDD/FDD/ZIP/CD etc. zu erkennen

Das Rescatux/Rescapp muss schon deutlich mehr gemacht haben. Wie 
geschrieben, vorher gab es auf sdb1 nicht viel in /boot/grub

Lothar schrieb:
> Weiter sieht /boot/grub anders aus:
>
> ls /boot/grub
> fonts  grub.cfg  grubenv  i386-pc  locale  unicode.pf2
>
> ls /media/exthdd/boot/grub
> grub.cfg  unicode.pf2

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.