Dr.geek
Dr.geek
خواندن ۳ دقیقه·۴ سال پیش

حل مشکل PCI BUS Error در گنو/لینوکس !

pci BUS Error
pci BUS Error

ارور pci bus یکی از ارور های کرنل لینوکس که در تعداد کمی از سیستم ها به وجود میاد و باعث میشود که دیسک پر بشه و سیستم بالا نیاد.

این مشکل از جای شروع شد که من خواستم از دنیای تاریک ویندوزی به دنیای گنو/لینوکس نقل‌مکان کنم!! با هر جور بدبختی و کندی که بود تونستم اوبونتو رو رو سیستم نصب کنم، اما بعد نصب سیستم بالا اومد ولی خیلی کند بود که اونم نیم ساعت دوام نداشت کلا صفحه رفت و با سرعت نور ارور زیر نشون می‌داد:

pci bus error
pci bus error


این مشکل مربوط به شناسای سخت‌افزار‌های سیستم توسط کرنل هست(معمولا کارت‌شبکه یا cpu ). همین طور که میدونید توی سیستم های لینوکسی هر کاری که سیستم عامل انجام میده توی لاگ ثبت میشه که این ارورها هم همانند هر ارور و خطای دیگری توی لاگ‌های سیستم ثبت می‌شوند(/var/log/).

از انجای که این ارور با سرعت نور روی صفحه نمایش داده میشود (که برای من بیش از ۲۰۰۰ خط در دقیقه بود) با همین سرعت هم توی لاگ ذخیره میشود و خیلی زود root سیستم پر میشه و سیستم دیگر توان بالا آمدن رو نداره!!

برای حل مشکل باید فایل گراب سیستم رو تغیر بدیم تا ارور های pci توی لاگ ثبت نشن.
گراب(GRUB) مرحله ی بوت شدن و نحوی بوت شدن سیستم رو تعین می‌کند.

خب از اینجا دیگه روند حل مشکل به دو حالت تقسیم می شود:

  • حالت اول: root سیستم هنوز پر نشده و میتونید به سیستم لاگین کنید.
  • حالت دوم: root سیستم پر شده و سیستم بالا نمیاد.


حالت اول:

اگه با همون سیستمی که مشکل pci error رو داره دارین این مطلب رو میخوانید پیشنهاد میکنم به سرعت مراحل رو پیش برین چون خیلی زود دیسک پر میشه و کارتون یکم سختر میشه:)

۱. مرحله ی اول این که ترمینال رو باز کنید.

با دستور زیر به دایرکتوری که گراب در اون قرار داره می‌ریم:

cd /etc/defu

و با دسترسی روت و هر ادیتوری که دلمون خواست فایل گراب رو باز می‌کنیم:

sudo nano grub

سپس در بخش GRUB_CMDLINE_LINUX_DEFAULT مثل تصویر زیر پارامتر زیر رو به اخر خط اضافه کنید:

pci=noaer
تغیر فایل گراب
تغیر فایل گراب
edit grub file
edit grub file

و بعد تغیرات رو ذخیره کنید و با دستور زیر گراب رو اپدیت کنید:

sudo update-grub
اگر هم باز مشکل حل نشد، به جای pci=noaer در گراب، pci=nomsi رو قرار بدید و گراب رو اپدیت کنید.



حالت دوم:

خب الان فرض کنیم از شانس بد ما دیسک پر شده و سیستم بالا نمیاد.پس باید سیستم رو به حالت ریکاوری ببریم و از اونجا فایل گراب رو تغیر بدیم و بعد هم فایل‌های حجیم لاگ رو حذف کنیم.

۱.الان باید سیستم رو ریبوت کنید و به منوی گراب برید، برای این کار باید وقتی که لوگوی سیستم روی صفحه نمایش داده‌شد،‌shift رو نگه دارید تا منوی گراب مثل تصویر زیر ظاهر شود:

grub menu
grub menu

۲.از منوی گراب حالت advanced mode رو انتخاب کنید.

۳.حالت recovery mode رو انتخاب کنید تا وارد محیط command line بشیم.

grub menu
grub menu


۴.خب حالا باید گراب رو تغیر بدیم که برای این کار باید دستور های زیر رو وارد کنیم:

با دستور زیر وارد دایرکتوری که گراب توش هست می‌شویم:

cd /etc/default/

با دسترسی root فایل گراب رو باز میکنیم :

sudo nano grub

و در بخش GRUB_CMDLINE_LINUX_DEFAULT پارامتر pci=noaer رو به اخر خط اضافه میکنیم.

grub file
grub file

و در اخر برای اعمال تغیرات گراب رو اپدیت می‌کنیم:

sudo update-grub




۵.خب الان باید فایل های لاگ رو که دیسک پر کردن حذف کنیم:

با دستور زیر به دایرکتوری لاگ‌ها میریم:

cd /var/log

برای نمایش سایز فایل :

ls -s -S -h

با دستور زیر لاگ‌های حجیم که syslog و kern.log هستند حذف می‌کنیم:

rm syslog kern.log
logs directory
logs directory
  • و در اخر با دستور reboot ریستارتش کنید و از سیستم لینوکسی تون لذت ببرید.



اگه این مطلب هر مشکلی از هر نظری داشت خوشحال می‌شم بهم بگید.

لینوکسبرنامه نویسیpci bus errorerrorsکرنل
شاید از این پست‌ها خوشتان بیاید