سپس
sudo mount --rbind /dev /mnt/grub-fedora1/dev
sudo mount --make-rslave /mnt/grub-fedora1/dev
sudo mount -t proc /proc /mnt/grub-fedora1/proc
sudo mount --rbind /sys /mnt/grub-fedora1/sys
sudo mount --make-rslave /mnt/grub-fedora1/sys
sudo mount --rbind /tmp /mnt/grub-fedora1/tmp
sudo mount --bind /run /mnt/grub-fedora1/run
این دستورات تک به تک وارد کن و همرو باهم ننویس، این دستورات برای chroot جنتو بوده ولی فکر کنم روی فدورا هم جواب بده..
میشه از خود قابلیتهای bash کمک گرفت و این دستورات که خیلی شبیه هم هستند رو با یه حلقه for خلاصه کرد تا به جای اینکه ما تایپ کنیم، bash اونها رو اجرا کنه.
گزینه راحتتر:
for x in dev proc sys tmp run; do
sudo mount -R --make-rslave "/$x" "/mnt/grub-fedora1"
done
برای دستور mount، آپشن rbind-- و R- یکی هستند. R- نسخه کوتاهتر rbind-- هست.
البته این بالایی، معادل چیزی که بالاتر نوشته شده نیست. این بالایی:
۱- چیزهایی که زیر /run/ سوار شده رو هم با سیستم داخل chroot به اشتراک میذاره.
۲- /proc/ و mount های زیر اون رو هم به صورت bind با سیستم داخل chroot به اشتراک میذاره.
۳- برخلاف بالایی، /tmp/ رو به اشتراک نمیذاره.
این یکی معادل همون چیزی هست که بالاتر گفتید:
for x in dev sys; do
sudo mount -R --make-rslave "/$x" "/mnt/grub-fedora1/$x"
done
sudo mount -R /tmp /mnt/grub-fedora1/tmp
sudo mount -B /run /mnt/grub-fedora1/run
sudo mount -t proc proc /mnt/grub-fedora1/proc
برای دستور mount، آپشنهای B- و bind-- یکی هستند. اولی نسخه کوتاه دومی هست.
زیاد ندیدم که /tmp/ از سیستم بوت شده رو دردسترس سیستم داخل chroot بذارن. فکر هم نکنم برای تعمیر گراب نیاز باشه.
من معمولا /sys/ /dev/ /proc/ و /run/ رو به همراه چیزهای زیرشون به این شکل به سیستم داخل chroot وصل میکنم.
for x in dev sys proc run; do
mount -R --make-rslave "/$x" "/mnt/$x"
done
موقعی هم که کار تموم شد، با یه بار اجرای umount همه اون چیزهایی که سوار شدند رو unmount میکنم.
umount -R /mnt
خب الان احتمالا فدورا شما به اینترنت متصل نباشه بخاطر اشتباه بودن dns برای همین با دستور sudo echo 'nameserver 1.1.1.1' > /mnt/grub-fedora1/run/systemd/resolve/stub-resolv.conf
یک dns 1.1.1.1 بهش میدیم
شاید از systemd-resolved برای dns استفاده نشه. بهتره مستقیم از طریق فایل resolv.conf اینکار رو انجام داد.
echo 'nameserver 1.1.1.1' > /mnt/grub-fedora1/etc/resolv.conf
یک هارد تنها فقط میتونه MBR باشه یا فقط GPT. باهم نمیشه
اون پارتیشنتیبل هست که ممکنه mbr باشه یا gpt یا ...
پارتیشنتیبل میتونه در واقعیت gpt باشه و یه protective mbr هم داشته باشه. gdisk به طور پیشفرض پارتیشنتیبلهای gpt رو اینجوری میسازه.