LinuxLiveCD

Aus ThinkPad-Wiki

Wozu braucht man eine LinuxLiveCD

Oft hat man das Problem, dass man einen Fehler mit seinem geliebten Thinkpad hat und erstmal nicht weiß, ob ein Hardware- oder Softwareproblem vorliegt. Egal, ob das Problem auf Windows, Linux, Unix, MacOS oder sogar OS/2 vorliegt, ist es oft hilfreich ein Betriebsystem von CD zu booten, um einfach ausschließen zu können, dass ein Hardwareproblem vorliegt.

Diese Seite soll einen groben Überblick über die gängigen Linux Live CDs und deren Funktionsumfang geben.

Manchmal möchte man auch einfach nur mal schauen was "die andere Seite" so bietet. Hierzu gibt es am Ende der Seite einige Informationen.

Informationen über das Gerät

Alle hier genannten Befehle müssen auf einer Konsole ausgeführt werden. Folgende Konsolenemulatoren sollten euch, je nach LiveCD, bereitstehen. Gnome, KDE und xfce bieten an via ALT-F2 Befehle auszuführen.

Gnome

gnome-terminal

KDE

konsole

xfce

terminal

Sonstige

urxvt

Wenn die LiveCD mit einer grafischen Oberfläche startet könnt ihr auch mit STRG-ALT-F1 auf das tty, einer richtigen Konsole, wechseln. Je nach System ist die grafische Oberfläche dann wieder mit ALT-F2 bzw. ALT-F7 oder ALT-F8 zu erreichen.

 BITTE BEACHTET DAS DIE BEFEHLE UNTER HARDWARE TESTEN ALS ROOT AUSGEFÜHRT WERDEN MÜSSEN. SEID VORSICHTIG BEI ROOT AKTIONEN!!!!

Bei Ubuntu reicht es vor jeden root-Befehl einfach ein sudo vorzusetzten. Bei anderen Distributionen muss man sich mit

su root

oder

su -

oder

su

als root einloggen.

Wie finde ich meine Festplatte?

Man hat unter Linux nicht die gewohnten C:, D:, E: etc. Laufwerksbezeichnungen, wie unter Windows. Unter Linux sind die Festplatten unter /dev/ als z.B. sda sdb (manchmal auch hda, hdb etc.) usw. zu finden. Die jeweilige Partition einer Festplatte ist die Zahl hinter sda also Zum Beispiel /dev/sda1 Um rauszufinden welche Festplatte angeschlossen ist, kann man einerseits dmesg nutzten oder smartmontools.

dmesg | grep sd | grep logical

Als Ausgabe bekommt man z.B.:

[    1.573718] sd 0:0:0:0: [sda] 117229295 512-byte logical blocks: (60.0 GB/55.8 GiB)

Somit ist die verbaute HDD sda. Die zweite Platte, ggf. im Ultrabay-Schachte, wäre dann sdb. Alternativ kann man mit

smartctl -a /dev/sda | grep -i "device Model"

sehen das die sda-Festplatte eine

Device Model:     OCZ-VERTEX3

ist.

USB-Geräte anzeigen

Dafür ist bei jeder Distribution das Programm

lsusb

vorhanden. Einfach lsusb eintippen

Bus 001 Device 002: ID 046d:c531 Logitech, Inc. 
Bus 005 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 006 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 006 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 005 Device 003: ID 045e:00db Microsoft Corp. Natural Ergonomic Keyboard 4000 V1.0
Bus 005 Device 005: ID 0bb4:0c02 HTC (High Tech Computer Corp.) Dream / ADP1 / G1 / Magic / Tattoo (Debug)
Bus 006 Device 003: ID 0409:005a NEC Corp. HighSpeed Hub
Bus 006 Device 004: ID 0a12:0001 Cambridge Silicon Radio, Ltd Bluetooth Dongle (HCI mode)
Bus 006 Device 005: ID 058f:6362 Alcor Micro Corp. Flash Card Reader/Writer

Somit sieht man dann welche USB-Geräte aktuell angeschlossen sind. Vorsicht: UMTS-Module werden OFT als USB-Geräte erkannt!

PCI/PCIe-Geräte anzeigen

Dafür ist bei jeder Distribution das Programm

lspci

vorhaden. Einfach lspci eintippen

00:00.0 Host bridge: Intel Corporation 2nd Generation Core Processor Family DRAM Controller (rev 09)
00:01.0 PCI bridge: Intel Corporation Xeon E3-1200/2nd Generation Core Processor Family PCI Express Root Port (rev 09)
00:01.1 PCI bridge: Intel Corporation Xeon E3-1200/2nd Generation Core Processor Family PCI Express Root Port (rev 09)
00:16.0 Communication controller: Intel Corporation 6 Series/C200 Series Chipset Family MEI Controller #1 (rev 04)
00:1a.0 USB controller: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #2 (rev 05)
00:1c.0 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 1 (rev b5)
00:1c.3 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 4 (rev b5)
00:1c.4 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 5 (rev b5)
00:1c.6 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 7 (rev b5)
00:1c.7 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 8 (rev b5)
00:1d.0 USB controller: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #1 (rev 05)
00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev a5)
00:1f.0 ISA bridge: Intel Corporation P67 Express Chipset Family LPC Controller (rev 05)
00:1f.2 SATA controller: Intel Corporation 6 Series/C200 Series Chipset Family SATA AHCI Controller (rev 05)
00:1f.3 SMBus: Intel Corporation 6 Series/C200 Series Chipset Family SMBus Controller (rev 05)
01:00.0 VGA compatible controller: NVIDIA Corporation GF110 [GeForce GTX 570 HD] (rev a1)
01:00.1 Audio device: NVIDIA Corporation GF110 High Definition Audio Controller (rev a1)
02:00.0 USB controller: Etron Technology, Inc. EJ168 USB 3.0 Host Controller (rev 01)
03:00.0 Audio device: Creative Labs X-Fi Titanium series [EMU20k2] (rev 03)
04:00.0 PCI bridge: Integrated Technology Express, Inc. Device 8892 (rev 10)
05:02.0 FireWire (IEEE 1394): VIA Technologies, Inc. VT6306/7/8 [Fire II(M)] IEEE 1394 OHCI Controller (rev c0)
06:00.0 USB controller: Etron Technology, Inc. EJ168 USB 3.0 Host Controller (rev 01)
07:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 06)
08:00.0 SATA controller: Marvell Technology Group Ltd. 88SE9172 SATA 6Gb/s Controller (rev 11)

Gelegentlich kommt es vor das, gerade bei neuer Hardware, nur UNKNOWN-Devices oder so steht. Dann reicht es als root

update-pciid

einzutippen. Dann synct er die lokale Datenbank mit der Online-Datenbank und dann sollten alle Geräte richtig angezeigt werden. Zum Updaten der PCI-ID-Datenbank wird eine bestehende Internetverbindung vorrausgesetzt. Sollte der PC keine Verbindung haben, man aber mit einem PC eine Internetverbindung haben kann man anhand der Verndor-ID hier auch händisch nachschauen:



Hardware testen

Jede hier verlinkte LiveCD bringt alle gängingen Treiber mit, die zum Grundbetrieb ausreichen. Leider muss man, gerade wenn es um ClosedSource-Treiber geht, auch Abstriche machen. Oft ist anstelle des Nvidia-Treibers "nur" der Nouveau-Treiber integriert und für die AMD-Karten der Radeon. Diese können zwar oft ein Bild darstellen haben aber Probleme mit 3D und Stromspartechniken.

Festplatte, defekte Sektoren überprüfen

Für diese Aufgabe gibt es das Tool badblocks. Bei badblocks muss man aufpassen, benutzt man die falschen Schalter werden alle Daten überschrieben. Eine sicherer Möglichkeit zum checken der Festplatte, und zum behalten der Daten, mit badblocks ist:

badblocks -vs /dev/sda

Der Vorgang dauert natürlich je nach Festplattengröße u.U, einige Stunden.

Festplatte, Health-Status überprüfen

Für diese Aufgabe gibt es das Tool smartmontools. Um einen überblick aller bisher gesammelten Daten zu kriegen reicht ein:

smartctl -a /dev/sda

als Ausgabe erhält man dann:

smartctl 5.43 2012-06-30 r3573 [x86_64-linux-3.5.3-1-ARCH] (local build)
Copyright (C) 2002-12 by Bruce Allen, http://smartmontools.sourceforge.net

=== START OF INFORMATION SECTION ===
Model Family:     SandForce Driven SSDs
Device Model:     OCZ-VERTEX3
Serial Number:    OCZ-M4UX04RDGF216K51
LU WWN Device Id: 5 e83a97 e107fa043
Firmware Version: 2.15
User Capacity:    120.034.123.776 bytes [120 GB]
Sector Size:      512 bytes logical/physical
Device is:        In smartctl database [for details use: -P show]
ATA Version is:   8
ATA Standard is:  ACS-2 revision 3
Local Time is:    Wed Sep 12 01:15:55 2012 CEST
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED

General SMART Values:
Offline data collection status:  (0x00) Offline data collection activity
                                        was never started.
                                        Auto Offline Data Collection: Disabled.
Self-test execution status:      (   0) The previous self-test routine completed
                                        without error or no self-test has ever 
                                        been run.
Total time to complete Offline 
data collection:                ( 2097) seconds.
Offline data collection
capabilities:                    (0x7f) SMART execute Offline immediate.
                                        Auto Offline data collection on/off support.
                                        Abort Offline collection upon new
                                        command.
                                        Offline surface scan supported.
                                        Self-test supported.
                                        Conveyance Self-test supported.
                                        Selective Self-test supported.
SMART capabilities:            (0x0003) Saves SMART data before entering
                                        power-saving mode.
                                        Supports SMART auto save timer.
Error logging capability:        (0x01) Error logging supported.
                                        General Purpose Logging supported.
Short self-test routine 
recommended polling time:        (   1) minutes.
Extended self-test routine
recommended polling time:        (  48) minutes.
Conveyance self-test routine
recommended polling time:        (   2) minutes.
SCT capabilities:              (0x0021) SCT Status supported.
                                        SCT Data Table supported.

SMART Attributes Data Structure revision number: 10
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate     0x000f   120   120   050    Pre-fail  Always       -       0/0
  5 Retired_Block_Count     0x0033   100   100   003    Pre-fail  Always       -       0
  9 Power_On_Hours_and_Msec 0x0032   099   099   000    Old_age   Always       -       1089h+22m+15.040s
 12 Power_Cycle_Count       0x0032   100   100   000    Old_age   Always       -       245
171 Program_Fail_Count      0x0032   000   000   000    Old_age   Always       -       0
172 Erase_Fail_Count        0x0032   000   000   000    Old_age   Always       -       0
174 Unexpect_Power_Loss_Ct  0x0030   000   000   000    Old_age   Offline      -       24
177 Wear_Range_Delta        0x0000   000   000   000    Old_age   Offline      -       0
181 Program_Fail_Count      0x0032   000   000   000    Old_age   Always       -       0
182 Erase_Fail_Count        0x0032   000   000   000    Old_age   Always       -       0
187 Reported_Uncorrect      0x0032   100   100   000    Old_age   Always       -       0
194 Temperature_Celsius     0x0022   030   030   000    Old_age   Always       -       30 (Min/Max 30/30)
195 ECC_Uncorr_Error_Count  0x001c   100   100   000    Old_age   Offline      -       0/0
196 Reallocated_Event_Count 0x0033   100   100   003    Pre-fail  Always       -       0
201 Unc_Soft_Read_Err_Rate  0x001c   100   100   000    Old_age   Offline      -       0/0
204 Soft_ECC_Correct_Rate   0x001c   100   100   000    Old_age   Offline      -       0/0
230 Life_Curve_Status       0x0013   100   100   000    Pre-fail  Always       -       100
231 SSD_Life_Left           0x0013   100   100   010    Pre-fail  Always       -       0
233 SandForce_Internal      0x0000   000   000   000    Old_age   Offline      -       432
234 SandForce_Internal      0x0032   000   000   000    Old_age   Always       -       437
241 Lifetime_Writes_GiB     0x0032   000   000   000    Old_age   Always       -       437
242 Lifetime_Reads_GiB      0x0032   000   000   000    Old_age   Always       -       574

SMART Error Log not supported
SMART Self-test Log not supported
SMART Selective self-test log data structure revision number 1
 SPAN  MIN_LBA  MAX_LBA  CURRENT_TEST_STATUS
    1        0        0  Not_testing
    2        0        0  Not_testing
    3        0        0  Not_testing
    4        0        0  Not_testing
    5        0        0  Not_testing
Selective self-test flags (0x0):
  After scanning selected spans, do NOT read-scan remainder of disk.
If Selective self-test is pending on power-up, resume after 0 minute delay.

Folgende Werte sind hier Grundsätzlich erstmal interessant:

  • RAW_READ_ERROR_RATE Das gibt aus wieviele Lesefehler es bis dato gab. Solange THRESH unter WORST ist ist alles tuffig
  • POWER_ON_HOUERS_AND_MSEC gibt an wie lange die SSD/HDD insgesamt schon lief
  • POWER_CYCLE_COUNT ist bei einer SSD uninteressant, bei einer HDD ist dies sehr interessant.

Bei einer SSD gibt es noch interessantere Werte:

  • LIFETIME_WRITES_GIB und LIFETIME_READS_GIB .. sollte selbsterklärend sein :)

Da drunter kommen noch zwei wichtige Informationen:

  • SMART_ERROR_LOG_VERION: 1
  • NO ERRORS LOGGED

und

  • SMART SELF-TEST log ....
  • hier stehen dann Informationen über den Selftest.

Nicht jede HDD / SSD unterstützt Error-Log (eine Vertex3 z.B. nicht) und Self-Test. Der "Nachteil" an SMART ist das es keine festen Normen für SMART gibt. Jeder Hersteller implementiert es so wie er will. D.h. die Daten sind nur bedingt glaubwürdig, gerade wenn da sowas steht wie "Kein Fehler" oder so. Wenn irgendwo ein Fehler aber geschrieben steht sollte man sich um seine Datensicherheit schon einen Kopf machen ;)

Festplattentemperatur überprüfen

Einige LiveCDs haben hddtemp an Board

 hddtemp /dev/sdb

ergibt

/dev/sdb: SAMSUNG HD204UI: 26°C

bei einer SSD kann es zu "Fehlmessungen" kommen, dann wird dort 0, -127 oder 96 angezeigt. Viele SSDs haben keinen Temperatursensors an Board.

RAM überprüfen

RAM testen geht im Vergleich zum Festplatten checken, relativ einfach. Oft haben die LiveCDs im Grub-Menu den Eintrag MemTest86+. Diesen einfach auswählen und den Test mindestens 24h laufen lassen. Oft sind 48h besser. Nicht selten treten erst sehr spät Speicherfehler auf.

Memtest von einer laufenden Console einer LiveCD auszuführen ist nicht zu empfehlen, da die LiveCD selber auch RAM in Anspruch nimmt welcher nicht getestet werden kann.

Sound überprüfen

Um zu testen ob der Sound funktioniert muss man erstmal schauen ob die Karte ansich erkannt wurde. Entweder mit:

alsamixer

oder

cat /proc/asound/cards

Wenn man es mit dem alsamixer macht, kann man, wenn man mehrere Soundkarten hat, mit F6 durch die Soundkarten umschalten.

Wenn dort die Soundkarte zu finden ist müssen wir der Soundkarte noch Geräusche entlocken. Aplay eignet sich dafür hervorragend und sollte auf jeder LiveCD dabei sein:

aplay /usr/share/sounds/alsa/Noise.wav

Wenn ihr nun nichts hört schaut im Alsamixer ob nicht irgendwas gemutet ist, das sieht man daran das unten MM unter den Reglern steht. Ein grünehinterlegtes OO zeigt an das es entmutet ist. Mit den Pfeiltasten könnt ihr laut/leiser machen, mit m muten/entmuten.

Aplay spielt erstmal nur auf dem Defaultausgabegerät etwas ab. Wenn man nun mehrer Soundkarten hat, z.B. noch einen HDMI/DP-Anschluss, ist das natürlich schlecht.

Aber auch das können wir lösen. Einfach mit

aplay -L

alle Soundkartenausgänge anzeigen lassen.

Wenn wir nun mit aplay -L die Liste der Ausgänge angezeigt bekommen können wir nun mit:

aplay -D default /usr/share/sounds/alsa/Noise.wav

in dem Fall den default-Ausgang ansprechen.

Temperaturen überprüfen

Jede aktuelle LiveCD hat lm_sensors an Board. Dies ist relativ leicht zu bedienen. Am Anfang tippt man einfach nen:

sensors-detect

ein. Da braucht man eigentlich nur lange Enter drücken. Nachdem der Detekt durchlief listet er auf, welches Modul für welches Gerät zuständig ist Hier ein Beispiel meines CoreI7 aufm GByte-Board (X200s Daten werden nachgereicht, habs gerade nicht zur Hand)

Driver `it87':
  * ISA bus, address 0x290
    Chip `ITE IT8728F Super IO Sensors' (confidence: 9)

Driver `coretemp':
  * Chip `Intel digital thermal sensor' (confidence: 9)

Also muss man mit

modprobe it87 
modprobe coretemp

beide Module laden und bekommt danach bei einem

sensors

folgende Ausgaben

coretemp-isa-0000
Adapter: ISA adapter
Physical id 0:  +36.0°C  (high = +80.0°C, crit = +98.0°C)
Core 0:         +30.0°C  (high = +80.0°C, crit = +98.0°C)
Core 1:         +31.0°C  (high = +80.0°C, crit = +98.0°C)
Core 2:         +35.0°C  (high = +80.0°C, crit = +98.0°C)
Core 3:         +31.0°C  (high = +80.0°C, crit = +98.0°C)

it8728-isa-0290
Adapter: ISA adapter
in0:          +1.04 V  (min =  +0.00 V, max =  +3.06 V)
in1:          +2.02 V  (min =  +0.00 V, max =  +3.06 V)
in2:          +2.95 V  (min =  +0.00 V, max =  +3.06 V)
in3:          +2.99 V  (min =  +0.00 V, max =  +3.06 V)
in4:          +0.08 V  (min =  +0.00 V, max =  +3.06 V)
in5:          +1.27 V  (min =  +0.00 V, max =  +3.06 V)
in6:          +1.50 V  (min =  +0.00 V, max =  +3.06 V)
3VSB:         +3.36 V  (min =  +0.00 V, max =  +6.12 V)
Vbat:         +3.29 V  
fan1:        1336 RPM  (min =    0 RPM)
fan2:        1110 RPM  (min =    0 RPM)
fan3:        1400 RPM  (min =    0 RPM)
fan4:        1896 RPM  (min =    0 RPM)
temp1:        +37.0°C  (low  = +127.0°C, high = +127.0°C)  sensor = thermistor
temp2:        +25.0°C  (low  = +127.0°C, high = +127.0°C)  sensor = thermistor
temp3:        +26.0°C  (low  = +127.0°C, high = +80.0°C)  sensor = thermistor
intrusion0:  ALARM

Es werden also nicht nur Temperaturen ausgelesen sondern auch die Stromversorgung und Lüfter. Je nach Modell / System Board können die Informationen anders aussehen. Hier beim coreI7, ab Core2Duo sollte die Unterstützung gelten, wird CoreTemp unterstützt was für jede Core die Temperatur ausliest. PhysicalID ist die Headspreader-Temperatur welche auch u.a. auf ark.intel.com als max. Temp angegeben wird. Die restlichen Sensoren, temp1/2/3 sind in dem Fall Motherboard/Umgebungsluft-Sensoren.

LinuxLiveCDs

Die gängingen LinuxLiveCDs sollten die Folgenden sein:

Fedora und Ubuntu sollten bekannt sein. Bieten zu den oben genannten Tools auch noch eine komplett installierbare, anfängerfreundliche Linuxumgebung an.

PuppyLinux ist eine Linuxdistribution gerde für älterer Geräte mit wenig RAM.

Knoppix wird eigentlich als reine LiveCD entwickelt. Eine Installation ist zwar auch möglich, aber deren Hauptaugenmerk liegt auf den Live-Betrieb

Etwas spezieller geht es mit grml und gparted zu. Grml ist rein auf testen ausgelegt. Es gibt kein Testtool, ob nun Netzwerk oder Hardware, welches grml nicht an Board hat. Es bietet ebenfalls eine grafische Oberfläche an und lässt sich zudem auch als StandAlone-System installieren. Es bassiert auf Debian-Testing.

Gparted bietet euch eine grafische Oberfläche zum Partitionieren von Festplatten und auch das erstellen von Images / Kopieren von Partitionen an.

Memtest86+, testet den RAM



LiveCD brennen / USB-Stick erstellen

Alle diese LIVE-ISOs lassen sich auch auf einen USB-Stick verfrachten. Dafür gibt es die Programme: