با دستور blkid تو ترمینال میشه uuid یه پارتیشن رو بدست آورد.(یا توی همون gparted) دقت کنید من livecd رو از طریق یه هارد اکسترنال usb بوت کردم که به این ترتیب هارد اینترنال اصلی میشه sdb (و نه sda)
هارد اکسترنالی که من دارم بوتیبله و علاوه بر livecd لینوکس مینت و آرچ از اون برای نصب ویندوز هم استفاده میکنم و اینجوری دیگه نیازی به dvd ندارم.هارد اکسترنال با grub4dos(از طریق ویندوز و 2-3 هزار سال پیش) بوتیبل شده.فقط ایمیج ویندوز رو اکسترکت کردم روی هارد اکسترنال(قبلا برای نصب ویندوز 7 و 8 ورودی بوت لازم رو در منوی بوت اون ایجاد کرده بودم وهمین اکسترکت کردن کافی بود) و نصاب ویندوز رو راه انداختم.اما نمیشد ویندوز رو نصب کرد.یه گام رو فراموش کرده بودم.طرح پارتیشن هارد اصلی سیستم من به صورت gpt و MBR-hybrid بود.این هیبرید بودن برای ویندوز لازمه(نصب یا بوت) اما با هر تغییری در جدول پارتیشن mbr-hybrid به mbr-protected(حالت پیشفرض gpt) تغییر میکنه.
کامپیوتر رو از طریق سیستم عامل اصلی(آرچ) بوت کردم و با دستور gdisk در خط فرمان مجددا اون رو به وضعیت MBR-hybrid تبدیل کردم.موقع تبدیل از شما خواسته میشه 3 تا پارتیشن معرفی کنید.من 3 پارتیشن ntfs دارم با شماره های 8 و 9 و 12(پارتیشن نصبی ویندوز) که اونها رو اضافه کردم و پارتیشن 12 رو به عنوان bootable ست کردم.
ری استارت کردم و نصاب ویندوز 8.1 رو راه انداختم و ویندوز نصب شد.با اولین ری استارت اثری از grub نبود و ویندوز مستقیما بوت میشد.انگار نه انگار لینوکسی نصبه.نصاب ویندوز سکتور صفر رو رونویسی میکنه و بوت سکتور خودش رو جایگزین میکنه.
کامپیوتر رو از هارد اکسترنال و اینبار با cd آرچ لینوکس بوت کردم.
کلا موقعی که میخواید grub رو نصب مجدد کنید با livecd همون دیسترو اصلی که نصب کردید(یا هر لینوکس دیگه ای) اینکار رو بکنید و پارتیشنهای لینوکس نصبی رو mount کنید و به اون chroot کنید.سپس با دستور grub-install به راحتی میتونید دوباره grub رو روی هارد اصلی نصب کنید.لینوکس آرچ من ۳ تا پارتیشن داره احتمالا شما فقط یه پارتیشه ریشه دارید.مراحلی که من طی کردم :
کد:
mount /dev/sdb7 /mnt
mount /dev/sdb10 /mnt/var
mount /dev/sdb11 /mnt/home
arch-chroot /mnt
grub-install --recheck --force /dev/sdb
exit
umount /mnt/var /mnt/home /mnt
توی آرچ chroot زدن راحته اما تو سایر دیستروها چند دستور اضافی میخواد من یه فایل متنی دارم که به عنوان راهنمای chroot میشه بهش نگاه کرد.(شما به راهنمای اصلی دیستروی خودتون رجوع کنید)
کد:
export LFS=/sysroot
mount --bind /dev $LFS/dev
mount -vt devpts devpts $LFS/dev/pts
mount -vt tmpfs shm $LFS/dev/shm
mount -vt proc proc $LFS/proc
mount -vt sysfs sysfs $LFS/sys
chroot "$LFS" /usr/bin/env -i \
HOME=/root TERM="$TERM" PS1='\u:\w\$ ' \
PATH=/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin \
/usr/bin/bash --login +h