بوت نشدن پس از بروزرسانی [closed]

ویرایش: نتونستم مشکل رو حل کنم. دوباره سیستم عامل پارچ پلاسما رو نصب کردم.

درود. من دیشب پارچ پلاسما خودم رو بروزرسانی کردم sudo pacman -Syu بعد یه خطایی unable to lock database داد و من sudo rm -rf /var/lib/pacman/db.lck کردم و فکر کنم این -rf کار رو خراب کرد و امروز هنگام روشن کردن دستگاه با خطای زیر روبرو می‌شودم.

Loading Linux linux
error: file /boot/vmlinuz-linux not found.
Loading initial ramdisk
error: you need to load the kernel first.
Press any key to continue...

من فایل vmlinuz-linux رو از یک لپتاپ پارچ پلاسما دیگه روی فلش(۱) کپی کردم و با استفاده از فلش(۲) که یک پارچ پلاسما روش نصب بود وارد یک محیط لینوکس زنده شدم، konsole رو باز کردم sudo mount /dev/sda2 /mnt و sudo cp /run/media/liveuser/PUBLIC/vmlinuz-linux /mnt/boot و reboot حالا یک خطای دیگه دارم:

You are in emergency mode, after logging in, type "journalctl -xb" to view system logs, "systemctl reboot" to reboot or "exit"
cannot access to console, the root account is locked.
Press Enter to continue...
Reload system manager configuration 
Starting default.target
See sulogin in (8)man page for more details

بعدش این ویدیو رو دیدم البته این یکی هم دیدم و ترکیبی انجام دادم. کارهایی که انجام دادم:
دوباره با فلش(۲) وارد محیط زنده لینوکس شدم، sudo mount /dev/sda2 /mnt و sudo chroot /mnt و sudo passwd و رمز جدید 12345678 دادم. بعدش ریبوت کردم و در منوی گراب دکمه e رو زدم و جلوی خط linux نوشتم init=/bin/bash و کلید f10 رو زدم. الان وقتی سیستم بوت میشه وارد یک ترمینال مانندی میشه. من یک سیستم عادی میخوام با میز کار کی‌دی‌ای پلاسما. جلو جلو بابت کمکتون تشکر می‌کنم.[quote=“mojtabavahidinasab, post:1, topic:400, full:true”]
درود. من دیشب پارچ پلاسما خودم رو بروزرسانی کردم sudo pacman -Syu بعد یه خطایی unable to lock database داد و من sudo rm -rf /var/lib/pacman/db.lck کردم و فکر کنم این -rf کار رو خراب کرد و امروز هنگام روشن کردن دستگاه با خطای زیر روبرو می‌شودم.

Loading Linux linux
error: file /boot/vmlinuz-linux not found.
Loading initial ramdisk
error: you need to load the kernel first.
Press any key to continue...

من فایل vmlinuz-linux رو از یک لپتاپ پارچ پلاسما دیگه روی فلش(۱) کپی کردم و با استفاده از فلش(۲) که یک پارچ پلاسما روش نصب بود وارد یک محیط لینوکس زنده شدم، konsole رو باز کردم sudo mount /dev/sda2 /mnt و sudo cp /run/media/liveuser/PUBLIC/vmlinuz-linux /mnt/boot و reboot حالا یک خطای دیگه دارم:

You are in emergency mode, after logging in, type "journalctl -xb" to view system logs, "systemctl reboot" to reboot or "exit"
cannot access to console, the root account is locked.
Press Enter to continue...
Reload system manager configuration 
Starting default.target
See sulogin in (8)man page for more details

بعدش این ویدیو رو دیدم البته این یکی هم دیدم و ترکیبی انجام دادم. کارهایی که انجام دادم:
دوباره با فلش(۲) وارد محیط زنده لینوکس شدم، sudo mount /dev/sda2 /mnt و sudo chroot /mnt و sudo passwd و رمز جدید 12345678 دادم. بعدش ریبوت کردم و در منوی گراب دکمه e رو زدم و جلوی خط linux نوشتم init=/bin/bash و کلید f10 رو زدم. الان وقتی سیستم بوت میشه وارد یک ترمینال مانندی میشه. من یک سیستم عادی میخوام با میز کار کی‌دی‌ای پلاسما. جلو جلو بابت کمکتون تشکر می‌کنم.

خب میتونی دوباره گراب رو نصب کنی (اگر * initramfs-linux.img توی دایرکتوری بوت هست:

اول چک کن پارتیشن root کجاست :

lsblk

پارتیشن root ممکنه /dev/sda2 یا چیزی شبیه به این باشه ولی باز هم چک کن چون ممکنه متفاوت باشه.
(مثلا برای من nvme0n1p1 عه )

حالا پارتیشن root رو به دایرکتوری /mnt وصل کن: dev/sda2 یه مثاله.

sudo mount /dev/sda2 /mnt

بعدش باید دایرکتوری‌های dev, proc, و sys رو هم به دایرکتوری مونت شده وصل کنی:


sudo mount --bind /dev /mnt/dev 
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys /mnt/sys

بعدش هم chroot :

sudo chroot /mnt

اگر سیستمت BIOS هست:

 grub-install --target=i386-pc /dev/sda

و اگر UEFI هست:

 grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=GRUB

ساخت فایل پیکربندی GRUB :

 grub-mkconfig -o /boot/grub/grub.cfg

خروج از chroot :

exit

حالا دایرکتوری‌هایی که وصل کردی رو unmount کن:

sudo umount /mnt/dev
sudo umount /mnt/proc 
sudo umount /mnt/sys 
sudo umount /mnt

و درنهایت ریستارت کن

اگر بازهم بعدش مشکل داشتی، حتما لاگ‌ها رو بررسی کن

1 Like

هر کاری گفتی انجام دادم. الان بدتر شده. موقع بوت خطا نمیده، فقط بوت منو باز میشه.
خروجی ‍lsblk این هست:

NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
loop0    7:0    0   2.4G  1 loop /run/archiso/airootfs
sda      8:0    0 238.5G  0 disk 
├─sda1   8:1    0   512M  0 part 
└─sda2   8:2    0   238G  0 part 
sdb      8:16   1  28.9G  0 disk 
├─sdb1   8:17   1   2.6G  0 part 
└─sdb2   8:18   1   176M  0 part

خروجی blkid این هست:

/dev/sdb2: LABEL_FATBOOT="ARCHISO_EFI" LABEL="ARCHISO_EFI" UUID="6757-04D8" BLOCK_SIZE="512" TYPE="vfat" PARTUUID="61dc510c-02"
/dev/sdb1: BLOCK_SIZE="2048" UUID="2024-12-09-14-55-20-00" LABEL="PARCHLINUX_PLASMA_202412" TYPE="iso9660" PARTUUID="61dc510c-01"
/dev/loop0: BLOCK_SIZE="1048576" TYPE="squashfs"
/dev/sda2: LABEL="ParchLinux" UUID="ac162916-b8a8-43d4-93d3-22eb206d285d" BLOCK_SIZE="4096" TYPE="ext4" PARTLABEL="ParchLinux" PARTUUID="6c414881-0a53-4505-9cb7-25d4d2bcf9b7"
/dev/sda1: UUID="CC04-88EF" BLOCK_SIZE="512" TYPE="vfat" PARTUUID="5c013dac-579d-4208-ac63-50a66249d0ca"

خروجی fdisk -l این هست:

Disk /dev/sda: 238.47 GiB, 256060514304 bytes, 500118192 sectors
Disk model: TOSHIBA KSG60ZMV
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: 2D775B8B-120C-4FE3-992C-B4F2BD9B9C47

Device       Start       End   Sectors  Size Type
/dev/sda1     4096   1052671   1048576  512M EFI System
/dev/sda2  1052672 500118125 499065454  238G Linux filesystem


Disk /dev/sdb: 28.91 GiB, 31037849600 bytes, 60620800 sectors
Disk model: USB Flash Drive 
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x61dc510c

Device     Boot   Start     End Sectors  Size Id Type
/dev/sdb1  *         64 5406719 5406656  2.6G  0 Empty
/dev/sdb2       5406720 5767167  360448  176M ef EFI (FAT-12/16/32)


Disk /dev/loop0: 2.41 GiB, 2590167040 bytes, 5058920 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

خروجی دستورات

grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=GRUB
grub-mkconfig -o /boot/grub/grub.cfg

این هست

اینها هم همینطوری الکی شاید بدرد بخورند:
tree /boot
tree /var
tree /etc

الان مجدد نصب کردی ؟
چون پیام اول ادیت شد می‌پرسم

1 Like

بله. باز دوباره خطا می‌ده. تاپیک جدید رو حذف کنم و همینجا ادامه بدیم؟ چون هنوز مشکل دارم.

فهمیدم اشتباه من کجا بود.
نشانی ای.اف.آی برای من فرق می‌کرد.
به جای
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=GRUB
باید
grub-install --target=x86_64-efi --efi-directory=/efi --bootloader-id=GRUB
رو می‌نوشتم و بعد ادامه می‌دادم
grub-mkconfig -o /boot/grub/grub.cfg
نمی‌دونم چرا اینو زودتر متوجه نشدم.
جالبه این مشکل برای یکی از لپتاپ هام پیش آمده. من دو تا لپتاپ پارچ پلاسما دارم.

1 Like

اگر مشکلت هیچ ارتباطی به مسائل توی این تاپیک نداره بله تاپیک دیگه ای باز کن که بقیه بتونن راحتتر دسترسی داشته باشن

1 Like