ubuntuusers.de

Ubuntu 12.04 von USB Stick unglaublich langsam

Status: Ungelöst | Ubuntu-Version: Ubuntu 12.04 (Precise Pangolin)
Antworten |

bluehorn

Anmeldungsdatum:
30. August 2012

Beiträge: Zähle...

Hallo deckard2019, Damit, Ubuntu auf einem USB-Stick passabel zum laufen zu bringen, hab' ich seit Jahren vergeblich rumprobiert. Das Ergebnis war immer zum Abgewöhnen. Mit installiertem multiload-indicator konnte man sehen, dass die CPU dauernd auf 100% hochschnellte, davon fast ausschließlich "I/O-Wait". Dann stieß ich in "Tom's Hardware" auf einen Test, der bei SSDs und Sticks auch die I/O-Transferraten bei vielen gleichzeitigen Lese- und Schreibvorgängen von vielen kleineren Dateien untersucht hatte. Mit dem im entsprechenden Test erwähnten Corsair Voyager GT (32GB, USB 3.0) habe ich's nochmal probiert (Ubuntu 12.04 mit Gnome auf ext4) - Endlich zufrieden: Das System läuft etwa so schnell wie mein ASUS Notebook mit 5400er Festplatte (der Stick hängt und bootet von einem USB 3.0 Slot). Damit lässt sich arbeiten! Heute würde ich zusätzlich noch auf BTRFS gehen mit aktivierter Datenkomprimierung (defaults,noatime,compress in fstab), das hat sogar auf meiner Desktop-SSD noch was gebracht.

deckard2019

(Themenstarter)

Anmeldungsdatum:
21. Oktober 2013

Beiträge: 100

Hi bluehorn.

Danke für den Tipp. Also, funktioniert das Booten doch von usb 3.0?!

Ich habe es nochmal mit dem c't Surfix auf einem Stick versucht. Das läuft ganz gut. Allerdings nur ohne Persistenz. Sobald ich Surfix inklusive Persistenz installiere, ist es wieder so langsam, dass man es nicht benutzen kann.

Der Crosair ist ja doch schon recht teuer. Da könnte ich eigentlich auch gleich eine kleine SSD kaufen. Aber trotzdem danke für den Tipp!

bluehorn

Anmeldungsdatum:
30. August 2012

Beiträge: 5

Hallo deckard2019,

Also, funktioniert das Booten doch von usb 3.0?!

Nicht so ohne Weiteres, aber so hat's bei mir geklappt:

1. USB 3.0-Stick für die Installation an USB 2.0 anschliessen,

2. normale Installation beginnen,

3. im weiteren Verlauf das Herunterladen von Systemupdates deaktivieren,

4. bei Partitionierung während des Installationsvorganges (Auswahl: "Etwas Anderes") als Bootsektor für Grub2 den USB-Stick auswählen (hier ist als Standard normalerweise eine vorhandene Festplatte ausgewählt), Wenn BTRFS gewünscht: vorher mit GParted formatieren und während des Installationsvorganges dann nicht formatieren),

5. Den frisch installierten Stick unbedingt noch vom USB 2.0 Port hochfahren,

6. Systemupdate starten, danach wieder runterfahren,

7. Jetzt in USB 3.0 Port stecken und hochfahren.

Ich kann nur vermuten, dass beim Systemupdate noch etwas nachinstalliert wird, was für USB 3.0 benötigt wird. Habe aus Neugierde den im letzten Beitrag erwähnten Test gemacht und auf dem Corsair Xubuntu mit BTRFS (compressed) installiert - läuft super! Lediglich ausgiebige Updates scheinen etwas länger zu brauchen. Der USB-Stick, von dem aus ich installiert habe, durfte nicht über UEFI hochgefahren worden sein, ebenso musste die Partitionstabelle des Ziel-Sticks "msdos" sein, was Anderes hat nicht funktioniert.

Der Crosair ist ja doch schon recht teuer. Da könnte ich eigentlich auch gleich eine kleine SSD kaufen. Aber trotzdem danke für den Tipp!

Jein: den gibt's inzwischen unter 40 Euronen, und dann hat man ein Überall-mit-hinnehm-System das noch viel kompakter ist als ein 2,5'-SSD-Gehäuse.

Der Stick selber scheint ok zu sein. Dateien kopieren geht in normaler Geschwindigkeit.

Ich hab vielleicht so zwanzig Sticks und Speicherkarten getestet: Die Transferraten, die ja immer auf der Verpackung eines Sticks stehen, kommen unter Idealbedingungen zustande (Kopieren einer großen Datei auf ein Non-Journaling-Dateisystem). Einen Hinweis auf eine schnell lauffähige Ubuntu-Installation liefern die nicht Hierfür braucht es sehr gute Transferraten bei Random read/write - und die stehen nicht auf der Verpackung...

Cordess

Anmeldungsdatum:
14. Mai 2006

Beiträge: 466

Ich habe momentan das gleiche Problem mit einem neuen großen 32 GB großen PQI Nano USB 3.0 Stick bei Kubuntu 14.04. Die Lesegeschwindigkeit des USB Stick ist normalerweise sehr hoch, auch dann, wenn ich diesen nur an einem USB 2.0 Anschluss anschließe. http://www.pqigroup.com/prod_spec.aspx?mnuid=1286&modid=138&prodid=555

Die Ursache, warum das so lange dauert liegt meiner Meinung nach daran, dass die USB Sticks bei manchen Mainboard und USB Port Konstellationen einfach anstatt im USB 2.0 oder USB 3.0 Modus in den USB 1.1 Modus runterschalten und dann kann das Laden wirklich sehr sehr lange dauern. Wenn euer USB Stick also beim Booten des OS langsamer bootet als von einer Live CD, dann liegt es höchstwahrscheinlich am USB 1.1 Betriebsmodus.

So ganz Grob zum Vergleich. USB 1.1 hat einen Datentrate nur 1,5 MBit/s, das ist ungefähr so langsam wie ein CD-ROM Laufwerk im Singlespeed 1x Modus. Also ca. 183 KB/s. Zum Vergleich, USB 2.0 schafft mit seinen 480 MBit/s theoretisch etwa 50 MB/s, in der Praxis können etwa 30 MB/s erreicht werden, natürlich ist das dann noch von der Geschwindigkeit eures USB Sticks abhängig, aber nur 183 KB/s sollte keiner erreichen. Der Single Speed Modus, also 1x, bei einer DVD liegt bei ca. 11,08 Mbit/s bzw. ca. 1,32 MB/s. Das ist etwa 7,4 mal so schnell wie von USB 1.1, aber da die meisten DVD Laufwerke die Daten mit x-fach Speed lesen, geht das natürlich noch einmal wesentlich schneller. Was bei einer DVD also in 10-30 Sekunden geladen sein kann, kann bei USB 1.1 mehrere Minuten dauern. Von einem USB Stick der im USB 1.1 Modus läuft, eine Linux Distribution zu installieren, davon kann ich also nur abraten. Man düfte mehrere Stunden dafür brauchen. http://de.wikipedia.org/wiki/Universal_Serial_Bus#Datenraten http://de.wikipedia.org/wiki/DVD#Geschwindigkeit

Also achtet darauf, mit welcher Geschwindigkeit euer USB-Stick nach dem Booten in die Live Distribution betrieben wird. Wenn das nur USB 1.1 ist, dann würde ich als Abhilfe versuchen, den USB Stick in einen anderen USB Port am Mainboard zu stecken. Das kann manchmal Wunder wirken, eventuell könnt ihr damit den Rechner dazu überreden, dass der USB Stick im USB 2.0 Modus gebootet wird, dann wird auch das Booten und die Installation in aktzeptabler Zeit ablaufen können.

Das Handbuch eures Mainboards sollte auch darüber Aufschluss geben. Manche ältere Mainboards haben an manchen USB Ausgängen nur USB 1.1, da ist USB 2.0 gar nicht möglich. Und manche neuere USB 3.0 Mainboards haben an manchen Ausgängen auch nur USB 2.0. Es kann auch sein, dass man im BIOS entsprechende Einstellungen vornehmen kann.

Mit welcher Geschwindigkeit ein USB-Device Läuft lässt sich normalerweise über den Befehl

lsusb -t

herausfinden.

Aber auch

cat /var/log/syslog | grep usb

Funktioniert. Da steht dann so etwas wie z.B. das da dran:

Sep 30 07:42:24 kubuntu kernel: [ 9465.316024] usb 2-1: new high-speed USB device number 3 using ehci-pci

Wichtig ist hier dann die Info "usb 2-1". Jetzt kann im sys Ordner des Kernels nach der Nummer 2-1 nachschauen:

cd /sys/bus/usb/devices/
ls
cd 2-1
cat version
cat speed

Das zeigt dann den verwendeten USB Modus und die USB Geschwindigkeit an.

EDIT:

Okay, ich habe jetzt noch einmal recherchiert und herumprobiert. Es ist so wie ich es euch gesagt habe.

Grub 2 holt sich die Informationen vom BIOS und der USB Stick wird dann auf manchen Rechnern im USB 1.x Modus geladen, als Folge davon dauert es sehr lange den Kernel zu booten. Wenn der Kernel aber erst einmal gebooten wurde, verwendet der Kernel seine eigenen USB Treiber was zur Folge hat, dass der USB-Stick im USB 2.x Modus oder besser erkannt wird und die Installation in relativ kurzer Zeit durchgeführt werden kann.

Das Booten von so einem Stick dauert dadurch aber dennoch mehrere Minuten. Aber es gibt eine richtig gute funktionierende Abhilfe, wie ich gerade herausgefunden habe.

Und zwar muss man dazu den Bootloader Plop in sein GRUB 2 Menü installieren und dann beim Booten von Grub 2, nachdem Grub 2 die Menüauswahl anbieten, den Bootloader Plop auswählen. Macht man dies, dann wird der Bootloader Plop geladen. In diesem gibt es dann die Möglichkeit von USB zu laden. Aber das beste daran ist, im Gegensatz zu GRUB 2 verlässt sich Plop nicht auf das BIOS, sondern bringt seine eigenen USB Treiber mit. Dadurch wird der USB Stick im USB 2.x Modus initialisiert und betrieben und wenn man ausgewählt hat, dass er von USB den USB Stick booten soll, dann landet man wieder, wie soll es auch anders sein, logischerweise in GRUB 2, da das ja der Bootloader auf dem USB-Stick ist und der wird zuerst gestartet. Im Vergleich zu vorher läuft der USB-Stick aber schon im USB 2.x Modus und von daher läd jedes folgende Betriebssystem, das man in Grub 2 auswählt dann auch wesentlich schneller.

Die Installation ist ein Kinderspiel. Man muss im Prinzip nur die aktuelle ZIP Datei von Plop downloaden, diese öffnen und dann die Datei plpbt.bin entpacken und auf seinen USB-Stick z.b. in den Order boot kopieren. Anschließend muss dann auf dem USB-Stick in der boot/grub.cfg Datei ein neuer Menüeintrag für den Bootloader Plop erstellt werden. Z.B. könnte der so aussehen:

menuentry "Plop Boot Manager" {
    set root=(hd0,1)
    linux16 /boot/plpbt.bin
}

Siehe auch hier: http://www.plop.at/en/bootmanager/plpbt.bin.html#rungrub2

Im Prinzip läuft das also in wenigen Stufen ab:

1. BIOS läd grub 2 von USB-Stick 2. grub 2 ist nun im USB 1.1 Modus 3. Man wählt im Grub 2 Menü Plop aus 4. Plop wird gebootet. 5. In Plop wählt man das Booten von USB aus 6. Nun wird der USB Treiber von Plop geladen und der USB 2.x oder USB 3.x Modus eingeschaltet 7. Da auf dem USB-Stick GRUB 2 die erste Software die geladen wird, landet man logischerweise wieder in GRUB 2, diesmal aber mit USB 2.x oder 3.x Geschwindigkeit. 8. Nun kann man jedes andere Betriebsystem im GRUB 2 Menü auswählen, welches dann in USB 2.x oder 3.x Geschwindigkeit geladen wird.

Der Unterschied ist somit wie Tag und Nacht. Während Kubuntu vorher ohne Plob und dem USB 2.x Modus mehrere Minuten gebraucht hat, geht es jetzt auf meinem Rechner in wenigen Sekunden. Leider habe für Kubuntu keine Zeit gemessen.

Aber ich habe auf meinem Multi-Boot USB-Stick noch Windows Vista drauf und da habe ich dann die Zeiten gemessen, zum Vergleich hier ein paar Zahlen:

Von Grub aus gemessen, wenn ich Vista auswähle, dann dauert es im USB 1.1 Modus 3 Minuten und 47 Sekunden bis die Länderauswahl von Windows Vista erscheint. Boote ich vorher aber Plop, wie beschrieben und dann Grub, so dass dieses im USB 2.x Modus läuft, dann dauert von dort das Starten von Windows Vista bis zum Länderauswahl Bildschirm nur 46 Sekunden. Also etwa 5 mal schneller. Bei Kubuntu war der Zeitunterschied noch wesentlich größer.

Von daher kann ich jedem, der Probleme hat von einem USB-Stick in ordentlicher Geschwindigkeit zu booten nur zu empfehlen, Plop downzuloaden und nach Grub zu erst in diesen zu Booten um den USB 2.x Modus zu aktivieren.

Die Installation ist wie gesagt ein Kinderspiel. Der einzige Wermutstropfen ist, dass Plop keine freie Software ist. Aber immerhin ist Plop Freeware und in Assembler geschrieben. Wünschenswert wäre daher, wenn man Grub 2 dahin weiterentwickeln würde, dass Grub 2 seine eigenen USB Treiber mitbringt und sich hier nicht mehr auf das BIOS verlässt. Dann wäre mit Grub 2 auch ohne Plop das gleiche möglich, was schon mit Plop möglich ist. D.h. das Booten von Betriebssystemen mit USB 2.x und USB 3.x Geschwindigkeit, auch dann, wenn das das BIOS gar nicht von Haus aus unterstützt.

Antworten |