1

У меня странная проблема с моим Lenovo T450s. В декабре встроенный SSD начал работать. Я заметил это, когда мой файл /boot/initramfs-linux.img был поврежден и больше не мог быть запущен. С помощью спасательной оболочки мне удалось восстановить файл и восстановить систему. SMART не показывал никаких ошибок. Пару дней спустя он полностью сломался - я все еще видел GRUB, но ни Linux, ни Windows больше не загружались, похоже, на этот раз таблицы разделов были повреждены. Используя встроенное аппаратное сканирование Lenovo, я также увидел кучу ошибок на диске.

Итак, я получил новый SSD, настроил его и пользуюсь им ~ 2 недели. Теперь сегодня я получил segfault с "плохой инструкцией" при запуске mysqld --version . Переустановка mariadb исправила это. Потом через некоторое время возникла похожая проблема, на этот раз я обратил больше внимания:


$ kmail
kmail: error while loading shared libraries: /usr/lib/libx264.so.148: invalid ELF header

$ md5sum /usr/lib/libx264.so.148 
2a56d1c8db30bc67086aa5f6a2f82b74  /usr/lib/libx264.so.148

$ file /usr/lib/libx264.so.148 
/usr/lib/libx264.so.148: data

$ ls -latr /usr/lib/libx264.so.148
-rwxr-xr-x 1 root root 1027784 Jun 27  2017 /usr/lib/libx264.so.148

$ cp /usr/lib/libx264.so.148 /tmp

$ pacman -Qoo /usr/lib/libx264.so.148 
/usr/lib/libx264.so.148 is owned by libx264 2:148.20170521-1

$ sudo pacman -S libx264
warning: libx264-2:148.20170521-1 is up to date -- reinstalling
resolving dependencies...
looking for conflicting packages...

Packages (1) libx264-2:148.20170521-1

Total Download Size:   0.36 MiB
Total Installed Size:  1.05 MiB
Net Upgrade Size:      0.00 MiB

:: Proceed with installation? [Y/n] 
:: Retrieving packages...
 libx264-2:148.20170521-1-x86_64                                                         369.6 KiB  89.1K/s 00:04 [####################################################################] 100%
(1/1) checking keys in keyring                                                                                    [####################################################################] 100%
(1/1) checking package integrity                                                                                  [####################################################################] 100%
(1/1) loading package files                                                                                       [####################################################################] 100%
(1/1) checking for file conflicts                                                                                 [####################################################################] 100%
(1/1) checking available disk space                                                                               [####################################################################] 100%
:: Processing package changes...
(1/1) reinstalling libx264                                                                                        [####################################################################] 100%
:: Running post-transaction hooks...
(1/1) Arming ConditionNeedsUpdate...

$ ls -latr /usr/lib/libx264.so.148
-rwxr-xr-x 1 root root 1027784 Jun 27  2017 /usr/lib/libx264.so.148

$ md5sum /usr/lib/libx264.so.148
32ef6d83b64fa4ab508c0ab565f426eb  /usr/lib/libx264.so.148

$ file /usr/lib/libx264.so.148
/usr/lib/libx264.so.148: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=06887d32d7c6bafc62ec7093c2527ebeaba115e3, stripped

$ xxd /usr/lib/libx264.so.148 > /tmp/after.hex

$ xxd /tmp/libx264.so.148 > /tmp/before.hex

$ diff -u /tmp/before.hex /tmp/after.hex 
--- /tmp/before.hex     2018-01-09 22:56:52.027209874 +0100
+++ /tmp/after.hex      2018-01-09 22:58:36.527221442 +0100
 -1,43267 +1,43267 @@
-00000000: 0000 0000 0000 0000 0000 0000 0000 0000  ................
-00000010: 0000 0000 0000 0000 0000 0000 0000 0000  ................
-00000020: 0000 0000 0000 0000 0000 0000 0000 0000  ................
-00000030: 0000 0000 0000 0000 0000 0000 0000 0000  ................
-00000040: 0000 0000 0000 0000 0000 0000 0000 0000  ................
+00000000: 7f45 4c46 0201 0100 0000 0000 0000 0000  .ELF............
+00000010: 0300 3e00 0100 0000 307f 0000 0000 0000  ..>.....0.......
+00000020: 4000 0000 0000 0000 08a8 0f00 0000 0000  @...............
+00000030: 0000 0000 4000 3800 0700 4000 1b00 1a00  ....@.8...@.....
+00000040: 0100 0000 0500 0000 0000 0000 0000 0000  ................
...

Таким образом, все части файла разбиваются, то есть обнуляются.

Я в растерянности - за все годы я никогда не видел такой проблемы. Тот факт, что это происходит так быстро после того, как я получил новый SSD, заставляет меня поверить, что SSD на самом деле не виноват. Что бы это могло быть? Кто-нибудь видел что-нибудь подобное?

Я использую последнее ядро ArchLinux 4.14.12-1. Вот некоторая информация об оборудовании:


$ grep "model name" /proc/cpuinfo
Intel(R) Core(TM) i7-5600U CPU @ 2.60GHz

$ lspci 
00:00.0 Host bridge: Intel Corporation Broadwell-U Host Bridge -OPI (rev 09)
00:02.0 VGA compatible controller: Intel Corporation HD Graphics 5500 (rev 09)
00:03.0 Audio device: Intel Corporation Broadwell-U Audio Controller (rev 09)
00:14.0 USB controller: Intel Corporation Wildcat Point-LP USB xHCI Controller (rev 03)
00:16.0 Communication controller: Intel Corporation Wildcat Point-LP MEI Controller #1 (rev 03)
00:19.0 Ethernet controller: Intel Corporation Ethernet Connection (3) I218-LM (rev 03)
00:1b.0 Audio device: Intel Corporation Wildcat Point-LP High Definition Audio Controller (rev 03)
00:1c.0 PCI bridge: Intel Corporation Wildcat Point-LP PCI Express Root Port #6 (rev e3)
00:1c.1 PCI bridge: Intel Corporation Wildcat Point-LP PCI Express Root Port #3 (rev e3)
00:1c.4 PCI bridge: Intel Corporation Wildcat Point-LP PCI Express Root Port #5 (rev e3)
00:1d.0 USB controller: Intel Corporation Wildcat Point-LP USB EHCI Controller (rev 03)
00:1f.0 ISA bridge: Intel Corporation Wildcat Point-LP LPC Controller (rev 03)
00:1f.2 SATA controller: Intel Corporation Wildcat Point-LP SATA Controller [AHCI Mode] (rev 03)
00:1f.3 SMBus: Intel Corporation Wildcat Point-LP SMBus Controller (rev 03)
00:1f.6 Signal processing controller: Intel Corporation Wildcat Point-LP Thermal Management Controller (rev 03)
02:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. RTS5227 PCI Express Card Reader (rev 01)
03:00.0 Network controller: Intel Corporation Wireless 7265 (rev 59)
04:00.0 3D controller: NVIDIA Corporation GM108M [GeForce 940M] (rev a2)

$ sudo smartctl -a /dev/sda
smartctl 6.6 2017-11-05 r4594 [x86_64-linux-4.14.12-1-ARCH] (local build)
Copyright (C) 2002-17, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Model Family:     Samsung based SSDs
Device Model:     Samsung SSD 850 PRO 512GB
Serial Number:    S39FNX0J612952B
LU WWN Device Id: 5 002538 d420b9653
Firmware Version: EXM04B6Q
User Capacity:    512,110,190,592 bytes [512 GB]
Sector Size:      512 bytes logical/physical
Rotation Rate:    Solid State Device
Form Factor:      2.5 inches
Device is:        In smartctl database [for details use: -P show]
ATA Version is:   ACS-2, ATA8-ACS T13/1699-D revision 4c
SATA Version is:  SATA 3.1, 6.0 Gb/s (current: 6.0 Gb/s)
Local Time is:    Tue Jan  9 23:24:18 2018 CET
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:                (    0) seconds.
Offline data collection
capabilities:                    (0x53) SMART execute Offline immediate.
                                        Auto Offline data collection on/off support.
                                        Suspend Offline collection upon new
                                        command.
                                        No Offline surface scan supported.
                                        Self-test supported.
                                        No 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:        (   2) minutes.
Extended self-test routine
recommended polling time:        ( 265) minutes.
SCT capabilities:              (0x003d) SCT Status supported.
                                        SCT Error Recovery Control supported.
                                        SCT Feature Control supported.
                                        SCT Data Table supported.

SMART Attributes Data Structure revision number: 1
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  5 Reallocated_Sector_Ct   0x0033   100   100   010    Pre-fail  Always       -       0
  9 Power_On_Hours          0x0032   099   099   000    Old_age   Always       -       109
 12 Power_Cycle_Count       0x0032   099   099   000    Old_age   Always       -       26
177 Wear_Leveling_Count     0x0013   099   099   000    Pre-fail  Always       -       1
179 Used_Rsvd_Blk_Cnt_Tot   0x0013   100   100   010    Pre-fail  Always       -       0
181 Program_Fail_Cnt_Total  0x0032   100   100   010    Old_age   Always       -       0
182 Erase_Fail_Count_Total  0x0032   100   100   010    Old_age   Always       -       0
183 Runtime_Bad_Block       0x0013   100   100   010    Pre-fail  Always       -       0
187 Uncorrectable_Error_Cnt 0x0032   100   100   000    Old_age   Always       -       0
190 Airflow_Temperature_Cel 0x0032   067   055   000    Old_age   Always       -       33
195 ECC_Error_Rate          0x001a   200   200   000    Old_age   Always       -       0
199 CRC_Error_Count         0x003e   100   100   000    Old_age   Always       -       0
235 POR_Recovery_Count      0x0012   099   099   000    Old_age   Always       -       1
241 Total_LBAs_Written      0x0032   099   099   000    Old_age   Always       -       1665945979

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  Short offline       Completed without error       00%       107         -

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
  255        0    65535  Read_scanning was never started
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.

$ mount | grep /dev/sda
/dev/sda3 on / type ext4 (rw,noatime,discard,data=ordered)
/dev/sda4 on /home type ext4 (rw,noatime,discard,data=ordered)

Изменить: Я провел все тесты оборудования, доступные через проверку оборудования Lenovo. Ничего не было найдено нигде ...

0