在linux /boot/vmlinuz这一行后面添加root=/dev/sda1
不是grub太复杂,而是你没有搞清楚grub只是一个引导程序,grub将内核文件装入后就将控制权交给内核了,内核的引导参数需要你自己配置,你这个配置就没有告诉内核从哪装入root(前面的set root只是告诉grub从哪儿找到vmlinuz),所以无法启动的。
当然还要注意的一点是grub的设备号很容易受设备的变动影响而发生改变的,如硬盘通常是sda1,但从USB启动往往会导致USB变为sda1而硬盘变为了sda2,所以最好是用uuid定位设备。