Использование Linux в сервисном центре
На этой странице собрана информация, которая будет полезна в сервисных центрах — как провести диагностику компьютерного «железа» или восстановить данные.
Содержание
- 1 Загрузка с разных устройств
- 2 32/64 бита
- 3 Работа в терминале
- 4 Общая информация об операционной системе
- 5 Особенности работы с драйверами
- 6 Как получить список аппаратных компонентов
- 7 Тестирование оперативной памяти
- 8 Датчики (температура, напряжение)
- 9 Видеокарты
- 10 Тестирование звуковой карты
- 11 Работа с разделами жёсткого диска
- 12 Тестирование жёсткого диска
- 13 Резервное копирование и восстановление разделов
- 14 Восстановление данных
- 15 Диагностика сетевых карт
- 16 Работа с COM-портом
- 17 Прошивка BIOS
- 18 Полезные LiveCD
- 19 См. также
Загрузка с разных устройств
Линуксы могут загружаться откуда угодно — с USB-флешек и жёстких дисков, карт памяти (SD и прочих), CD/DVD, по локальной сети (PXE). Главное, чтобы материнская плата умела загружать операционную систему с этих устройств.
Загрузочные клавиши для некоторых ноутбуков и материнских плат можно посмотреть на http://boot-keys.org.
32/64 бита
Большинство линуксов можно скачать как 32-битными, так и 64-битными.
- 32-битные запустятся почти на любом процессоре (ARM и прочую экзотику пока не рассматриваем). Оперативной памяти больше 4 ГБ увидит со специальным PAE-ядром (обычно входит в комплект многих дистрибутивов).
- 64-битные ОС запустятся только на 64-разрядных процессорах.
Работа в терминале
Если вы раньше не работали в консоли Linux, запомните несколько правил:
- Прочтите статьи для начинающих, например http://help.ubuntu.ru/manual/терминал;
- Регистр букв имеет значение. Чаще всего, команды пишутся с маленькой буквы. Если написать команду с большой буквы, система сообщит вам, что команда не найдена;
- Удобно пользоваться автодополнением, чтобы не ошибаться при наборе команды. Когда наберёте первые символы, просто нажмите TAB один-два раза;
- Большинство команд, связанных с оборудованием, должны выполнятся от суперпользователя root. Чтобы стать суперпользователем, необходимо набрать
sudo -i
илиsu -
В этом режиме надо быть предельно осторожным — например, если перепутать /dev/sda с /dev/sdb, то операция будет произведена с другим жёстким диском.
Общая информация об операционной системе
- Эти программы/команды обычно не нужно устанавливать:
- Эти программы надо устанавливать:
- screenFetch — выдаёт в консоли логотип системы + базовую информацию (версия ядра, ОС, количество оперативной памяти, процессор, видеокарта, …)
- Neofetch — аналогично, входит в состав Lubuntu;
Особенности работы с драйверами
Linux-системы заново определяют оборудование при каждом запуске системы, поэтому можно загружаться с установленной на жёсткий диск (или флешку) системой почти на любом железе — в основном, всё само определится и сразу заработает. Трудности с автоопределением железа могут возникнуть с проприетарными драйверами, поэтому лучше их не устанавливать.
Чтобы посмотреть, какие модули ядра используются, можно воспользоваться командой lspci -k
:
00:00.0 Host bridge: Advanced Micro Devices [AMD] RS780 Host Bridge 00:01.0 PCI bridge: ASUSTeK Computer Inc. RS880 PCI to PCI bridge (int gfx) Kernel modules: shpchp 00:06.0 PCI bridge: Advanced Micro Devices [AMD] RS780 PCI to PCI bridge (PCIE port 2) Kernel driver in use: pcieport Kernel modules: shpchp 00:11.0 SATA controller: Advanced Micro Devices [AMD] nee ATI SB7x0/SB8x0/SB9x0 SATA Controller [AHCI mode] Subsystem: ASUSTeK Computer Inc. M3A78-EH Motherboard Kernel driver in use: ahci 00:12.0 USB controller: Advanced Micro Devices [AMD] nee ATI SB7x0/SB8x0/SB9x0 USB OHCI0 Controller Subsystem: ASUSTeK Computer Inc. M3A78-EH Motherboard Kernel driver in use: ohci_hcd 00:12.1 USB controller: Advanced Micro Devices [AMD] nee ATI SB7x0 USB OHCI1 Controller Subsystem: ASUSTeK Computer Inc. M3A78-EH Motherboard Kernel driver in use: ohci_hcd 00:12.2 USB controller: Advanced Micro Devices [AMD] nee ATI SB7x0/SB8x0/SB9x0 USB EHCI Controller Subsystem: ASUSTeK Computer Inc. M3A78-EH Motherboard Kernel driver in use: ehci_hcd 00:13.0 USB controller: Advanced Micro Devices [AMD] nee ATI SB7x0/SB8x0/SB9x0 USB OHCI0 Controller Subsystem: ASUSTeK Computer Inc. M3A78-EH Motherboard Kernel driver in use: ohci_hcd 00:13.1 USB controller: Advanced Micro Devices [AMD] nee ATI SB7x0 USB OHCI1 Controller Subsystem: ASUSTeK Computer Inc. M3A78-EH Motherboard Kernel driver in use: ohci_hcd 00:13.2 USB controller: Advanced Micro Devices [AMD] nee ATI SB7x0/SB8x0/SB9x0 USB EHCI Controller Subsystem: ASUSTeK Computer Inc. M3A78-EH Motherboard Kernel driver in use: ehci_hcd 00:14.0 SMBus: Advanced Micro Devices [AMD] nee ATI SBx00 SMBus Controller (rev 3a) Subsystem: ASUSTeK Computer Inc. M3A78-EH Motherboard Kernel driver in use: piix4_smbus Kernel modules: sp5100_tco, i2c-piix4 00:14.1 IDE interface: Advanced Micro Devices [AMD] nee ATI SB7x0/SB8x0/SB9x0 IDE Controller Subsystem: ASUSTeK Computer Inc. M3A78-EH Motherboard Kernel driver in use: pata_atiixp Kernel modules: pata_atiixp 00:14.3 ISA bridge: Advanced Micro Devices [AMD] nee ATI SB7x0/SB8x0/SB9x0 LPC host controller Subsystem: ASUSTeK Computer Inc. M3A78-EH Motherboard 00:14.4 PCI bridge: Advanced Micro Devices [AMD] nee ATI SBx00 PCI to PCI Bridge 00:14.5 USB controller: Advanced Micro Devices [AMD] nee ATI SB7x0/SB8x0/SB9x0 USB OHCI2 Controller Subsystem: ASUSTeK Computer Inc. M3A78-EH Motherboard Kernel driver in use: ohci_hcd 00:18.0 Host bridge: Advanced Micro Devices [AMD] Family 10h Processor HyperTransport Configuration 00:18.1 Host bridge: Advanced Micro Devices [AMD] Family 10h Processor Address Map 00:18.2 Host bridge: Advanced Micro Devices [AMD] Family 10h Processor DRAM Controller Kernel modules: amd64_edac_mod 00:18.3 Host bridge: Advanced Micro Devices [AMD] Family 10h Processor Miscellaneous Control Kernel driver in use: k10temp Kernel modules: k10temp 00:18.4 Host bridge: Advanced Micro Devices [AMD] Family 10h Processor Link Control 01:05.0 VGA compatible controller: Advanced Micro Devices [AMD] nee ATI RS780C [Radeon HD 3100] Subsystem: ASUSTeK Computer Inc. Device 82ee Kernel driver in use: radeon Kernel modules: radeon 02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 02) Subsystem: ASUSTeK Computer Inc. M3A78-EH Motherboard Kernel driver in use: r8169 Kernel modules: r8169 03:07.0 Multimedia audio controller: Creative Labs SB0400 Audigy2 Value Subsystem: Creative Labs Device 1001 Kernel driver in use: snd_emu10k1 Kernel modules: snd-emu10k1
Также можно посмотреть список модулей для PCI-устройств с помощью команды pcimodules:
r8169 pata_via i2c-i801 iTCO_wdt shpchp snd-hda-intel mei i915
Как получить список аппаратных компонентов
В терминале
- lshw — почти полный список оборудования, не хватает: большинство usb устройств (кроме дисков), мониторы, ИБП;
- hwinfo --short — ещё один список оборудования;
- lspci — список PCI-устройств. С параметром «-k» показывает используемые модули ядра (т.е., драйверы). Если устройство совсем свежее, запустите
sudo update-pciids
для обновления базы. - lsusb — список USB-устройств. С параметром «-v» показывает очень много дополнительной информации.
- decode-dimms — подробная информация об оперативной памяти. Содержится в пакете i2c-tools. Можно, например, сгенерировать html страницу:
decode-dimms -f --side-by-side --merge-cells > /tmp/decode-dimms.html
- dmidecode — информация о железе из Desktop Management Interface;
-
discover --type-summary --disable-bus all --enable-bus pci display
— показать название видеокарты; -
inxi
— список оборудования и информация о системе (процессы, диски, версии ПО);
Графически
- lshw-gtk — почти полный список оборудования
- HardInfo — выводит информацию об оборудовании и операционной системе. Поддерживаются шины PCI, ISA PnP, USB, IDE, SCSI, последовательные и параллельные порты.
Тестирование оперативной памяти
- Memtest86+ — имеется во многих дистрибутивах. Запускать можно с LiveCD или с жёсткого диска из меню Grub. Нужно сделать минимум один прогон (цифра в столбце «Pass»; должна быть больше 0), лучше оставить на всю ночь. В случае ошибок оперативной памяти, появятся красные строки с описанием. Параллельно с работой Memtest86+ ничего делать не получится, т.к. он монопольно использует ресурсы.
- memtester — тестирует из запущенного Linux, т.е. можно параллельно, например, запускать Smart-тесты жёсткого диска. Проверить 1 ГБ памяти два раза:
memtester 1024 2
ECC RAM
Память ECC бесполезно проверять обычным Memtest86+, надо смотреть ошибки, выявляемые с помощью ECC.
- для одних платформ (каких? Точно подходит для AMD Phenom II):
cat /sys/devices/system/edac/mc/mc0/ue_count
- для других платформ (каких?) можно установить mcelog и следить за его логами.
Датчики (температура, напряжение)
- lm-sensors позволяет просматривать информацию от доступных датчиков — температуру, напряжение, обороты вентиляторов. Если пакет уже был установлен в систему, возможно команда
sensors
выдаст вам полную информацию:
atk0110-acpi-0 Adapter: ACPI interface Vcore Voltage: +1.10 V (min = +0.85 V, max = +1.60 V) +3.3 Voltage: +3.26 V (min = +2.97 V, max = +3.63 V) +5 Voltage: +4.92 V (min = +4.50 V, max = +5.50 V) +12 Voltage: +12.10 V (min = +10.20 V, max = +13.80 V) CPU FAN Speed: 1486 RPM (min = 600 RPM) CHASSIS FAN Speed: 1115 RPM (min = 600 RPM) POWER FAN Speed: 0 RPM (min = 600 RPM) CPU Temperature: +39.0°C (high = +60.0°C, crit = +95.0°C) MB Temperature: +42.0°C (high = +45.0°C, crit = +95.0°C) k10temp-pci-00c3 Adapter: PCI adapter temp1: +29.0°C (high = +70.0°C) (crit = +83.5°C, hyst = +81.5°C)
Если нет, то установите пакет lm-sensors
и запустите sensors-detect
от суперпользователя root.
Программный контроль скорости вращения кулеров
fancontrol — программная регулировка скорости вентиляторов. Утилита pwmconfig
служит для его настройки. Если конфигурация оборудования изменилась, необходимо заново запустить pwmconfig
, чтобы она определила, какие кулеры к каким каналам управления подключены.
Видеокарты
- glxinfo -B — информация о видеокарте, в т.ч. количество оперативной памяти на ней (например: Video memory: 1024MB)
Тестирование производительности видеокарты
Тесты можно использовать как для прогрева железа, чтобы оценить качество работы системы охлаждения, так и для сравнения производительности:
- gtkperf — тестирования ускорения 2D-графики;
- glxgears — простейший тест с шестерёнками;
- glmark2 — более разнообразный тест, занимает около 5 минут. Пример вывода для интегрированной видеокарты AMD с open source драйверами:
======================================================= glmark2 2012.08 ======================================================= OpenGL Information GL_VENDOR: X.Org GL_RENDERER: Gallium 0.4 on AMD RS780 GL_VERSION: 3.0 Mesa 9.1.1 ======================================================= [build] use-vbo=false: FPS: 359 FrameTime: 2.786 ms [build] use-vbo=true: FPS: 395 FrameTime: 2.532 ms [texture] texture-filter=nearest: FPS: 387 FrameTime: 2.584 ms [texture] texture-filter=linear: FPS: 381 FrameTime: 2.625 ms [texture] texture-filter=mipmap: FPS: 390 FrameTime: 2.564 ms [shading] shading=gouraud: FPS: 311 FrameTime: 3.215 ms [shading] shading=blinn-phong-inf: FPS: 290 FrameTime: 3.448 ms [shading] shading=phong: FPS: 216 FrameTime: 4.630 ms [bump] bump-render=high-poly: FPS: 192 FrameTime: 5.208 ms [bump] bump-render=normals: FPS: 374 FrameTime: 2.674 ms [bump] bump-render=height: FPS: 270 FrameTime: 3.704 ms [effect2d] kernel=0,1,0;1,-4,1;0,1,0;: FPS: 117 FrameTime: 8.547 ms [effect2d] kernel=1,1,1,1,1;1,1,1,1,1;1,1,1,1,1;: FPS: 26 FrameTime: 38.462 ms [pulsar] light=false:quads=5:texture=false: FPS: 318 FrameTime: 3.145 ms [desktop] blur-radius=5:effect=blur:passes=1:separable=true:windows=4: FPS: 52 FrameTime: 19.231 ms [desktop] effect=shadow:windows=4: FPS: 179 FrameTime: 5.587 ms [buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 103 FrameTime: 9.709 ms [buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=subdata: FPS: 141 FrameTime: 7.092 ms [buffer] columns=200:interleave=true:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 112 FrameTime: 8.929 ms [ideas] speed=duration: FPS: 198 FrameTime: 5.051 ms [jellyfish] <default>: FPS: 114 FrameTime: 8.772 ms [terrain] <default>: FPS: 8 FrameTime: 125.000 ms [conditionals] fragment-steps=0:vertex-steps=0: FPS: 319 FrameTime: 3.135 ms [conditionals] fragment-steps=5:vertex-steps=0: FPS: 111 FrameTime: 9.009 ms [conditionals] fragment-steps=0:vertex-steps=5: FPS: 319 FrameTime: 3.135 ms [function] fragment-complexity=low:fragment-steps=5: FPS: 236 FrameTime: 4.237 ms [function] fragment-complexity=medium:fragment-steps=5: FPS: 127 FrameTime: 7.874 ms [loop] fragment-loop=false:fragment-steps=5:vertex-steps=5: FPS: 235 FrameTime: 4.255 ms [loop] fragment-steps=5:fragment-uniform=false:vertex-steps=5: FPS: 234 FrameTime: 4.274 ms [loop] fragment-steps=5:fragment-uniform=true:vertex-steps=5: FPS: 94 FrameTime: 10.638 ms ======================================================= glmark2 Score: 220 =======================================================
Для мобильных видеокарт, поддерживающих только OpenGL ES, есть специальные урезанные тесты:
- es2gears — те же шестерёнки;
- glmark2-es2
Энергопотребление ATI/AMD Radeon
Open source драйвер «Radeon» поддерживает управление энергопотреблением видеокарты (см. Возможности Open source драйвера Radeon):
До R6xx
Включить динамическое управление энергопотреблением:
echo dynpm > /sys/class/drm/card0/device/power_method
Включить режим энергопотребления по заранее подготовленным профилям ("default", "auto", "low", "mid", "high"):
echo profile > /sys/class/drm/card0/device/power_method echo low > /sys/class/drm/card0/device/power_profile
Посмотреть частоты:
cat /sys/kernel/debug/dri/0/radeon_pm_info default engine clock: 600000 kHz current engine clock: 299530 kHz default memory clock: 500000 kHz current memory clock: 499500 kHz voltage: 1150 mV PCIE lanes: 16
Посмотреть температуру можно стандартной командой sensors:
radeon-pci-0100 Adapter: PCI adapter temp1: +58.0°C
R6xx и новее
Поддерживается режим dpm, все параметры управляются аппаратно (можно включить старое поведение, передав ядру при загрузке параметр «radeon.dpm=0»):
cat /sys/class/drm/card0/device/power_method dpm
Принудительно включаем режим пониженного потребления:
echo low > /sys/class/drm/card0/device/power_dpm_force_performance_level
Ускорение проигрывания видео
Информацию можно получить с помощью команд vdpauinfo или vainfo.
Тестирование звуковой карты
Со звуком в линуксе обычно работает ALSA, в некоторых дистрибутивах поверх ALSA работает PulseAudio.
-
pactl list cards
— Список устройств с точки зрения PulseAudio; -
cat /proc/asound/cards
— Список устройств с точки зрения ALSA; -
speaker-test -c 6 -t wav -l 1
— тестирование звука с помощью ALSA: в каждый канал один раз проиграть название канала;
Работа с разделами жёсткого диска
Любые изменения таблицы разделов жёсткого диска выполняются от суперпользователя root.
В терминале
-
fsarchiver probe simple
— получить список дисковых устройств и разделов на них; - lsblk — получить список дисковых устройств, разделов на них и куда они подключены (примонтированы), в том числе RAID и LVM;
- fdisk — утилита для работы с таблицей разделов. Не работает с GUID (GPT);
- dd — простая и мощная команда, позволяющая копировать, например, раздел диска в файл или по сети, или забить весь жёсткий диск нулями(«низкоуровневое форматирование»)/случайными значениями. Много примеров в статье википедии. В случае, если диск плохо читается, надо использовать dd_rescue;
- gdisk — аналог fdisk для GPT. Умеет конвертировать MBR в GPT;
- cfdisk — редактор разделов с интерфейсом, сделанном на curses. Не работает с GUID (GPT);
- sfdisk — манипулятор партициями, отлично подходит для использования в скриптах. Не умеет работать с GPT. Пример: скопировать таблицу разделов с жёсткого диска
/dev/sda
на/dev/sdb
:sfdisk -d /dev/sda | sfdisk /dev/sdb
- parted — тоже манипулятор партициями. Умеет работать как с GPT, так и с MBR. Пример: вывести информацию о разделах жёсткого диска:
sudo parted /dev/sda print Модель: ATA ST31500541AS (scsi) Диск /dev/sda: 1500GB Размер сектора (логич./физич.): 512B/512B Таблица разделов: gpt Номер Начало Конец Размер Файловая система Имя Флаги 1 1049kB 21,5GB 21,5GB ext4 2 21,5GB 23,7GB 2202MB linux-swap(v1) 3 23,7GB 1479GB 1456GB ext4 4 1479GB 1500GB 21,0GB ext4
Графически
- GParted — Графический редактор разделов. Работает не только с таблицей разделов, но и с самими разделами — может изменять их размер, перемещать, копировать на другой диск.
Тестирование жёсткого диска
-
hdparm -I /dev/sda
— получить информацию о настройках жёсткого диска;
Тестирование на битые секторы («бэд-блоки», «бэд-секторы», повреждённые секторы):
Программное
- badblocks — в простейшем случае, запускаем
badblocks -v -s /dev/sda
и программа начнёт проверку в режиме только чтения. С опцией -w, программа перейдёт в разрушающий режим сканирования, записывая данные и сверяя их. Пользователям файловых систем ext2/ext3/ext4 рекомендуется использовать командуe2fsck -c
, которая автоматически запустит badblocks в режиме только чтения, и если будут найдены сбойные блоки, они будут добавлены в специальный список, илиe2fsck -cc
, non-destructive read-write test (см. man e2fsck). - dd — читаем с диска в /dev/null, в случае проблемы с поверхностью получим ошибку чтения, если же проблем нет, то по окончании получим ошибку, что на диске закончилось место:
dd if=/dev/sdX of=/dev/null bs=1M
- WHDD — аналог MHDD [1]. В репозиториях Debian/Ubuntu пока отсутствует, есть на диске SystemRescueCd.
S.M.A.R.T.
S.M.A.R.T. позволяет посмотреть: были ли ранее проблемы с жёстким диском, количество сбойных секторов, статистику (время работы, количество включений, …). Также с помощью S.M.A.R.T. можно провести самотестирование жёсткого диска:
В терминале
smartctl — позволяет просматривать и изменять параметры SMART, запускать самотестирование.
Если ещё не обновляли его базу данных, можно это сделать:
update-smart-drivedb
Примеры команд:
-
smartctl -s on /dev/sda
— включить SMART у жёсткого диска/dev/sda
(обычно уже включен); -
smartctl -t long /dev/sda
— запустить полное самотестирование поверхности. Утилита выведет примерное время, через которое завершится тестирование, после чего нужно посмотреть информацию о диске: -
smartctl -x /dev/sda
— посмотреть всю информацию о диске/dev/sda
. На жёсткие диски с интерфейсом USB может заругаться «Unknown USB bridge … please specify device type with the -d option», обычно помогает указать-d sat
. Пример вывода:
smartctl 5.41 2011-06-09 r3365 [x86_64-linux-3.2.0-26-generic] (local build) Copyright (C) 2002-11 by Bruce Allen, http://smartmontools.sourceforge.net === START OF INFORMATION SECTION === Model Family: Seagate Barracuda LP Device Model: ST31500541AS Serial Number: 9XW01A24 LU WWN Device Id: 5 000c50 019af1954 Firmware Version: CC34 User Capacity: 1 500 301 910 016 bytes [1,50 TB] Sector Size: 512 bytes logical/physical Device is: In smartctl database [for details use: -P show] ATA Version is: 8 ATA Standard is: ATA-8-ACS revision 4 Local Time is: Thu Jul 26 23:01:20 2012 YEKT 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: (0x82) Offline data collection activity was completed without error. Auto Offline Data Collection: Enabled. 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: ( 633) seconds. Offline data collection capabilities: (0x7b) SMART execute Offline immediate. Auto Offline data collection on/off support. Suspend 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: ( 255) minutes. Conveyance self-test routine recommended polling time: ( 2) minutes. SCT capabilities: (0x103f) SCT Status supported. SCT Error Recovery Control supported. SCT Feature Control 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 119 099 006 Pre-fail Always - 208965758 3 Spin_Up_Time 0x0003 100 100 000 Pre-fail Always - 0 4 Start_Stop_Count 0x0032 100 100 020 Old_age Always - 170 5 Reallocated_Sector_Ct 0x0033 100 100 036 Pre-fail Always - 0 7 Seek_Error_Rate 0x000f 080 060 030 Pre-fail Always - 106608780 9 Power_On_Hours 0x0032 080 080 000 Old_age Always - 18183 10 Spin_Retry_Count 0x0013 100 100 097 Pre-fail Always - 0 12 Power_Cycle_Count 0x0032 100 100 020 Old_age Always - 170 183 Runtime_Bad_Block 0x0032 100 100 000 Old_age Always - 0 184 End-to-End_Error 0x0032 100 100 099 Old_age Always - 0 187 Reported_Uncorrect 0x0032 100 100 000 Old_age Always - 0 188 Command_Timeout 0x0032 100 098 000 Old_age Always - 324 189 High_Fly_Writes 0x003a 100 100 000 Old_age Always - 0 190 Airflow_Temperature_Cel 0x0022 063 052 045 Old_age Always - 37 (Min/Max 28/39) 194 Temperature_Celsius 0x0022 037 048 000 Old_age Always - 37 (0 17 0 0) 195 Hardware_ECC_Recovered 0x001a 040 024 000 Old_age Always - 208965758 197 Current_Pending_Sector 0x0012 100 100 000 Old_age Always - 0 198 Offline_Uncorrectable 0x0010 100 100 000 Old_age Offline - 0 199 UDMA_CRC_Error_Count 0x003e 200 200 000 Old_age Always - 1 240 Head_Flying_Hours 0x0000 100 253 000 Old_age Offline - 175466593929409 241 Total_LBAs_Written 0x0000 100 253 000 Old_age Offline - 2255824820 242 Total_LBAs_Read 0x0000 100 253 000 Old_age Offline - 3056934445 SMART Error Log Version: 1 No Errors Logged SMART Self-test log structure revision number 1 Num Test_Description Status Remaining LifeTime(hours) LBA_of_first_error # 1 Extended offline Completed without error 00% 10636 - # 2 Conveyance offline Completed without error 00% 7 - # 3 Extended offline Completed without error 00% 4 - # 4 Short offline Completed without error 00% 0 - 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.
Здесь, к примеру:
-
Extended self-test routine recommended polling time 255 minutes
— примерное время полного самотестирования. Так как максимальное значение ячейки 255, эта цифра показывает, что время будет больше 255 минут. -
Reallocated_Sector_Ct 0
— сбойных секторов не обнаружено; -
Start_Stop_Count 170
— включался 170 раз; -
Power_On_Hours 18183
— проработал 18183 часов; -
Spin_Retry_Count 0
— повторных попыток раскрутить шпиндель не было; -
Airflow_Temperature_Cel 37 (Min/Max 28/39)
— температура жёсткого диска 37 °C; -
Extended offline Completed without error 10636
— Когда жёсткий диск проработал 10636 часов, кто-то запустил полное самотестирование поверхности, которое закончилось без ошибок.
SSD
У современных моделей SSD можно посмотреть статистику с помощью команды smartctl -l ssd /dev/sda
, вот пример вывода свежекупленного Crucial M4:
smartctl 5.43 2012-06-30 r3573 [x86_64-linux-3.8.0-26-generic] (local build) Copyright (C) 2002-12 by Bruce Allen, http://smartmontools.sourceforge.net Device Statistics (GP Log 0x04) Page Offset Size Value Description 7 ===== = = == Solid State Device Statistics (rev 1) == 7 0x008 1 4~ Percentage Used Endurance Indicator |_ ~ normalized value
Также в обычном выводе smartctl -x /dev/sda
(см. пример выше) надо обратить внимание на параметр «Wear Leveling Count».
Графически
В разных дистрибутивах Linux есть различные графические утилиты для работы со SMART жёстких дисков:
- gsmartcontrol: запускать от суперпользователя (либо сама запросит). Пример вывода для SSD, поработавшей 1 год:
- palimpsest («Дисковая утилита», пакет gnome-disk-utility) — в Gnome. Пример:
Резервное копирование и восстановление разделов
Целый жёсткий диск, как и отдельный раздел, можно скопировать командой dd. Если же нужно получить образ минимального размера, пригодится команда partimage.
В любом случае, лучше для начала сохранить информацию о разделах и загрузочную область:
sfdisk -d > backup_sfdisk.txt dd bs=1M count=1 if=/dev/sda of=backup_boot_sda.img
В случае GPT:
Сохранить информацию о разделах диска /dev/sda в файл backup_sgdisk.txt в текущей директории:
sgdisk --backup=backup_sgdisk.txt /dev/sda
Восстановить таблицу разделов диска /dev/sdX из файла backup_sgdisk.txt в текущей директории:
sgdisk --load-backup=backup_sgdisk.txt /dev/sdX
Эта команда может выдать ошибку «Non-GPT disk; not saving changes. Use -g to override.», просто затрите первый сектор диска /dev/sdX нулями и повторите.
dd
Если резервная копия была сделана с помощью команды dd, то восстанавливаем так:
dd if=backup_sda1.img of=/dev/sdaX bs=1M
Если резервная копия была сделана с помощью команд dd и gzip, то восстанавливаем так:
zcat backup_sda1.img.gz | dd of=/dev/sdaX bs=1M
ntfsclone
Для создания резервной копии раздела с файловой системой NTFS можно использовать ntfsclone из пакета ntfs-3g:
ntfsclone --rescue --save-image --output backup_ntfsclone_sda1.img /dev/sda1
Можно ещё на лету сжимать в gzip (или pigz, чтобы использовать несколько ядер CPU):
ntfsclone --rescue --save-image -o - /dev/sda1 | gzip -9c > backup_ntfsclone_sda1.img.gz
Восстанавливаем так:
ntfsclone --restore-image --overwrite /dev/sdaX backup_ntfsclone_sda1.img
Если же образ от ntfsclone сжат с помощью gzip, то восстанавливаем так:
zcat backup_ntfsclone_sda1.img.gz | ntfsclone --restore-image --overwrite /dev/sdaX -
fsarchiver
Архивирует на уровне файловой системы.
Clonezilla
Специализированный дистрибутив (на основе Debian/Ubuntu, в зависимости от версий), с помощью которого можно сохранить образ жёсткого диска (на другой жёсткий диск или в сеть на smb/nfs/ssh) и развернуть его, например, на другом компьютере (или нескольких). Процесс проходит в форме вопросов-ответов.
Восстановление данных
- gpart — Поиск и восстановление потерянных разделов;
- photorec — ищет мультимедиа-файлы на жёстком диске по их содержимому, игнорируя файловую систему. На диске ничего не меняет, может работать с образом диска. Работает в интерактивном режиме. В последних версиях объединили в пакет с testdisk. Пример использования:
photorec /d /tmp/ /dev/sdb
- myrescue — ?
- Autopsy — ?
- scalpel — для восстановления файлов, ищет по сигнатурам (видимо, результат будет аналогичен photorec). Перед запуском, надо поправить файл /etc/scalpel/scalpel.conf, раскомментировав строки с интересующими файлами.
ddrescue
- dd_rescue — копирует данные из одного файла или блочного устройства на другое. Например, с одного жёсткого диска на другой, или в образ. Также есть gddrescue.
Пример работы ddrescue из deb-пакета gddrescue:
# ddrescue --block-size=1M /dev/sda /media/BIG/320_ddrescue.img /media/BIG/320_ddrescue.img.log GNU ddrescue 1.17 Press Ctrl-C to interrupt rescued: 80025 MB, errsize: 613 kB, current rate: 5361 kB/s ipos: 80026 MB, errors: 1, average rate: 11351 kB/s opos: 80026 MB, time since last successful read: 0 s Finished
testdisk
testdisk — находит и восстанавливает информацию об удалённых разделах (хранится в MBR). Может работать, к примеру, с образом жёсткого диска, сделанным командой dd. Вот список восстанавливаемых типов разделов из man testdisk:
- BeFS (BeOS)
- BSD disklabel (FreeBSD/OpenBSD/NetBSD)
- CramFS, Compressed File System
- DOS/Windows FAT12, FAT16 and FAT32
- HFS and HFS+, Hierarchical File System
- JFS, IBM's Journaled File System
- Linux ext2/ext3/ext4
- Linux Raid:
- RAID 1: mirroring
- RAID 4: striped array with parity device
- RAID 5: striped array with distributed parity information
- RAID 6: striped array with distributed dual redundancy information
- Linux Swap (versions 1 and 2)
- LVM and LVM2, Linux Logical Volume Manager
- Mac partition map
- Novell Storage Services NSS
- NTFS (Windows NT/2K/XP/2003/Vista/...)
- ReiserFS 3.5, 3.6 and 4
- Sun Solaris i386 disklabel
- Unix File System UFS and UFS2 (Sun/BSD/...)
- XFS, SGI's Journaled File System
Также testdisk может восстанавливать удалённые файлы с:
- DOS/Windows FAT12, FAT16 и FAT32;
- Linux ext2;
- NTFS (Windows NT/2K/XP/2003/Vista/...);
Диагностика сетевых карт
Для внутренней диагностики некоторых сетевых карт есть пакет nictools-pci, в нём отдельные команды, например eepro100-diag, rtl8139-diag, via-diag…
Работа с COM-портом
Для восстановления жёстких дисков Seagate нужно подключаться к терминальному порту, выведенному около SATA-разъёма. Для этого используют один из многочисленных переходников USB → RS232 TTL, которые обычно определяются системой как /dev/ttyUSB0
. Для работы с ним, можно использовать команду minicom
.
Обычно аппаратный COM1 имеет адрес /dev/ttyS0. Определить можно с помощью команды:
dmesg | grep tty
вывод будет примерно такой:
[ 1.532172] serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A [ 1.557480] 00:08: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
minicom
В первый раз запускаем minicom -s
от суперпользователя root. Настраиваем (имя порта /dev/ttyUSB0
, скорость 38400). Выбираем «Сохранить настройки как dfl» (как default). После настройки, можно запускать minicom об обычного пользователя, лишь бы он был в группе dialout (на неё даются права на чтение/запись в устройство /dev/ttyUSB0
).
cutecom
Графический последовательный терминал, как minicom.
ttysnoop
Позволяет «подсматривать» за последовательными соединениями.
Прошивка BIOS
Большинство BIOS можно прошить с помощью всего одной утилиты — flashrom. Устанавливается из репозитория. Запускать от суперпользователя. Список гарантированно поддерживаемых устройств.
-
flashrom -r backup.bios
— сохранить прежнюю версию BIOS в файлbackup.bios
-
flashrom -w M3A78-CM-ASUS-2801.ROM
— записать BIOS из заранее скачанного с официального сайта и распакованного файлаM3A78-CM-ASUS-2801.ROM
Загрузка прошивки в жёсткий диск
Можно рискнуть загрузить свежую прошивку в жёсткий диск с помощью команды hdparm [2]:
hdparm --fwdownload файл_с_прошивкой.LOD /dev/sdc
Полезные LiveCD
- SystemRescueCd — на основе Gentoo, позволяет выбрать разрядность процессора, разместить операционную систему в оперативной памяти, загрузить консоль, а из неё — графический интерфейс;
- http://stresslinux.org — дистрибутив для стресс-тестирования железа;
- Inquisitor — на основе Debian;
- Trinity Rescue Kit.
См. также
- HardwareDetect — Полезные команды для определения типа установленного оборудования;
- Списки совместимости оборудования с Linux;