[問題] Ubuntu20.04 安裝bootloader?

作者: in09   2020-11-14 07:04:19
原來的設定是這樣:
HDD : grub + Ubuntu 16.04
SSD : Ubuntu 20.04
現在 HDD 要退役, 我從 SSD 不能開機, 我猜是沒有 bootloader
我該做什麼才能裝個 bootloader 上去?
不一定要 grub, 只要能開機就好, 以後應該都不需要多重開機了
====== update 後續
謝謝各位, 不過我看不太懂, 就用LiveCD 開機, 試著裝grub, 然後
不知做錯什麼, SSD 裏的Ubuntu不會動了,所以我只能乾脆重裝,重裝
時只有SSD, 然後就OK了~~
好在只是不會動,重裝前用LiveCD把資料都救出來了
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.37.179.33 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Linux/M.1605308662.A.A4A.html
作者: holishing   2020-11-14 11:07:00
試試看 LiveUSB 開機後 chroot 進去 20.04 裝 grub
作者: gR7P4zXH (tpn7gpdx)   2020-11-14 11:15:00
apt install boot-repair
作者: ucrxzero (RX-0)   2020-11-14 13:32:00
Grub-install 參數選一下就行了不過你的SSD沒有vmlinux 跟ramfs 那些必須檔案也開不了機遠端我幫你用一下也行開機順序是initramfs->vmlinux我猜都在HDD內請高手別來挑我語病
作者: tomsawyer (安安)   2020-11-14 14:03:00
/boot 不見得跟/efi在一起吧
作者: ucrxzero (RX-0)   2020-11-14 14:31:00
只有arch linux 是/efi ...他也沒說是UEFI還是BIOS 所以要整個看一下= =你如果SSD是GPT 要開機還要塞Bios Boot Partition所以我才說沒那麼簡單R dirty work一堆等等送給電腦公司又說中毒真的無言可能其他的OS預設有其他efi位置不過不是重點~
作者: Bencrie   2020-11-14 14:51:00
你的開機順序反了。你有看過 init 比 kernel 早起來的喔不要 bootloader 直接從 UEFI BIOS 開機風險有點高看 BIOS 能不能餵 kernel cmdline 參數
作者: ucrxzero (RX-0)   2020-11-14 15:11:00
恩恩順序講反了我自切我又散布不實謠言 對不起各位我把arch linux的spec 跟 initramfs/initrd的man都看過y了還是能講錯 我自切不過我想一想這兩個檔案其實是同時被load的吧有人知道ㄇBencrie大大好像誤會惹我說的不是pid=1的那個init
作者: Bencrie   2020-11-14 15:36:00
initramfs 裡面有 init 啊kernel 要負責解壓縮 initramfs 然後 run 裡面的 init把 rootfs 的 device 拉起來以後再 switch root
作者: ucrxzero (RX-0)   2020-11-14 15:50:00
有感覺了感謝
作者: bitlife (BIT一生)   2020-11-14 19:17:00
bootloader不是為多重開機,android目前沒多重開機也是有bootloader,它的用途就是如名稱所說,要boot os要靠它load講古一下,在apple時代bootstrap一詞比較常見,後來漸漸省略成boot,一般講DOS(不是IBM,MS的DOS)的書都會提bootstrap一詞是說先拉鞋帶,靴帶再帶動鞋子,鞋子再帶動腳,然後把整個人拉起來另一說是鞋帶綁一條比它粗的繩子上來,再越帶越粗的繩子上來,最後把粗繩梯拉起來,然後被困在塔裏的公主就能下塔維基百科中文是採前一說,也有名詞來源,我最早印象也是那句英文每一個OS都有它的bootloader, linux是grub,NT系列是NTLDR沒有bootloader,光靠BIOS/uefi難以載入現代複雜的作業系統,不論載入架構,filesystem等都是各自作業系統最清楚,所以只能約定靠BIOS/uefi載入一個最初最小的bootloader,再由它去負責載入完整的作業系統,這樣BIOS/uefi才能夠足夠小以裝入flash記憶體,並且不用經常更新
作者: ucrxzero (RX-0)   2020-11-14 20:03:00
我有一個問題,你現在還能用HDD開機為何還要用Live?bitlife神
作者: bitlife (BIT一生)   2020-11-14 20:03:00
我前面推文就是在講grub是載入linux必須的[bootloader]grub是縮寫,它的b就是那個bootloader所以改成說不一定要grub還是不行的我只是比較老(物理),沒有比較神 XD你用LiveCD裝grub的語意,如果不是自行下命令列指定root分區,會變成安裝grub來boot你的live CD的root分區,然後你CD取出重開機後,當初那個ramdisk的root分區就消失了,所以開不起來找一下網路上的live usb修復grub教學,基本上就是要在你實際的SDD root分區的/裏裝上grub,至於怎麼做就找教學文吧等一下,我忘了live cd本身有修復,所以如果你是用livecd修復功能而非在try livecd環境中執行的安裝grub,請忽略以上推文 
作者: Bencrie   2020-11-14 21:32:00
kernel 把必要的 driver built-in、cmdline built-inUEFI 是可以直接開 Linux。UEFI自己就能當 bootloader XD
作者: bitlife (BIT一生)   2020-11-14 21:34:00
bootloader本來就分在flash裏和hdd/sdd裏的兩階段,然後UEFI本來就是bootloader的一環,但是我必須承認這下grub會變非必須 XD 但是這是上面所謂的「不複雜」的情況 XD
作者: ucrxzero (RX-0)   2020-11-14 21:54:00
因為UEFI可以直接選efi檔案進行開機 但不知為啥危險
作者: bitlife (BIT一生)   2020-11-14 22:06:00
沒開secure boot時怕boot到一隻大型木馬啊 XD
作者: ucrxzero (RX-0)   2020-11-14 22:07:00
是因為UEFI是用C寫的可以進行Buffer overflow的攻擊?抱歉還不太懂木馬是什麼但我通常不開secure boot因為load不了驅動程式感謝解答
作者: bitlife (BIT一生)   2020-11-14 22:13:00
木馬可google trojan horse. 驅動程式要signed過,sign又牽涉到uefi內建金鑰問題,通常廠商只內建微軟的key所以搞到後來大家都先關secure boot(好像預設也關了?XD)
作者: holishing   2020-11-14 23:21:00
有需要的使用者裝 Ubuntu,CentOS,Debian 時還是可以試試看 secure boot,理論上都可以
作者: hizuki (ayaka)   2020-11-24 20:08:00
bootloader簡單說是用來init memory和外部儲存器的,嵌入式很有感

Links booklink

Contact Us: admin [ a t ] ucptt.com