حل شد. دوباره /boot آرچ را با / یکی کردم. grub-update زدم. بعد که grub.cfg را چک کردم دیدم گراب دانشمند (!) set root را به جای (hd0,9) که برای sda10 (پارتیشن روت آرچ) هست (hd0,10) داده! اصلا مسیر image کرنل را هم نداده بود. خیلی عجیب غریب بود کارش. خودم تصحیحش کردم و درست شد.
کلا برخورد گراب ۲ با پارتیشن بوت جدا خیلی برام عجیب و ناشناخته بود! قبل از یکی کردن پارتیشن ها هم تو فایل کانفیگش set root را (hd0,10) داده بود که میشد پارتیشن بوت سابق، من هم گفتم حتما درسته که نبود. قبل از یکی کردن دوباره این را هم عوض کردم به همون (hd0,9) که باز هم فایده نداشت. کسی من را روشن می کنه که وقتی پارتیشن boot جدا باشه تو کانفیگ گراب چه طور میشه؟ root را چی باید داد؟ اصلا گراب از کجا می فهمه که boot کجاست. چون جایی بهش معرفی نمی کنه. نکنه از توی fstab سیستم عامل مربوطه جای boot را در میاره؟