我嘗試在全新的 HP ProLiant Gen8 伺服器(4Gb RAM,處理器 - G1610T Intel Celeron G1610T - 2.3 GHz)上安裝 Arch Linux (2017.04.01-x86_64),安裝過程似乎已成功完成(按照 Arch 中的步驟進行) Linux 維基百科。
當我告訴伺服器從 HDD 啟動時,我看到錯誤「非系統磁碟或磁碟錯誤」。如果安裝看起來很順利,那麼什麼可能導致它失敗?
以下是我為實現這一目標所採取的步驟。
- 插上伺服器,三個硬碟:
- 750GB Western Digital HD(RAID 1 和 HD #2)
- 750GB Western Digital HD(RAID 1,HD #1)
- 80Gb eServer IBM HD
- 使用 rufus 將 Arch Linux iso 刻錄到 MicroSD 上
- 將 MicroSD 插入伺服器主機板上的插槽
- 開機並選擇從MicroSD啟動
- 從 Arch Linux 畫面中選擇啟動到 Arch Installer
fdisk -l
顯示以下內容:
- 700G Linux raid(125M 未知,500M 交換)作為 /dev/sda
- 700G Linux raid(125M 未知,500M 交換)作為 /dev/sdb
- 75G exFat 作為 /dev/sdc(80GB 硬碟)
- 60G Fat32 作為 /dev/sdd (MicroSD)
我想將作業系統安裝到 80GB 硬碟上,其中包含 5GB 交換空間、20GB 作業系統根分割區、50GB /home 分割區。
所以我用fdisk
fdisk /dev/sdc o # 清除分割表對/dev/sdc 進行分割區
n # new partition
p # new partition is primary
1 # named partition number 1
<enter> # default start sector
+2G # end sector is 2GB after the start
t # change the type from default
82 # change partition type to 'swap'
n # new partition
p # new partition is primary
2 # named partition number 2
<enter> # default start sector
+20G # end sector is 20GB after the start
n # new partition
p # new partition is primary
3 # named partition number 3
<enter> # default start sector
<enter> # end sector is the rest of the disk
a # make a partition bootable
2 # make partition 2 bootable
w # write new partitions to disk
再次運行fdisk -l
似乎確認成功,/dev/sdc/
具有我期望的類型和大小的三個分割區。
mkfs.ext4 /dev/sdc2 # put ext4 file system on root partition
mkfs.ext4 /dev/sdc3 # put ext4 file system on /home partition
mount /dev/sdc2 /mnt # mount partition 2 as root partition
mkdir /mnt/home # make a place for the home partition
mount /dev/sdc3 /mnt/home #mount partition 3 as home partition
- 我進行了編輯
/etc/pacman.d/mirrorlist
,將本地鏡像放在清單中更高的位置。 - 安裝了基本系統
pacstrap /mnt base
- 寫入檔案系統表
genfstab -L /mnt >> /mnt/etc/fstab
- Chroot 進入新系統
arch-chroot /mnt
- 將正確的本地時間符號連結到
/etc/localtime
- 同步時鐘
hwclock --systohc
- 取消註解我的區域設置
/etc/locale.gen
- 然
locale-gen
- 設定我的
LANG
環境變數/etc/locale,conf
- 輸入我的主機名
/etc/hostname
- 將我的主機名稱加入到
/etc/hosts
- 設定 root 密碼
passwd
- 安裝了 GRUB
pacman -S grub
- 安裝 GRUB 到
/dev/sdc
grub-install --target=i386-pc /dev/sdc
grub-mkconfig -o /boot/grub/grub.cfg
- 留下 chroot 與
exit
- 卸載所有東西
unmount -R /mnt
- 關閉
- 移除了 MicroSD
- 已通電
- 選擇從HD啟動
不幸的是,這不起作用,我收到錯誤“非系統磁碟或磁碟錯誤”
我認為這可能與磁碟順序有關,因此刪除了兩個 RAID 硬碟,並將 80GB 磁碟放入插槽 0 ( /dev/sda
)
我再次從 MicroSD 啟動,並在 Arch Installer 中再次輸入 chroot,並進行了這些更改。
- 安裝的 Grub-BIOS 和核心標頭
pacman -S openssh grub-bios linux-headers linux-lts linux-lts-headers
- 啟用 sshd
systemctl enable sshd
- 然後重新執行安裝 GRUB 的命令。
grub-install --target=i386-pc /dev/sda
grub-mkconfig -o /boot/grub/grub.cfg
重新啟動給了我同樣的錯誤,我在 Arch Linux Wiki 或 YouTube 教程中找不到更多幫助。
是什麼可能導致安裝過程看似順利,但伺服器卻無法從硬碟啟動?
/dev/sdc
是不是我安裝的時候HD卡槽有問題?我後來移動它有問題嗎?
答案1
您遇到磁碟枚舉問題。
MicroSD 卡導致了您的問題,因為它改變了 SCSI 設備的順序;可能會佔用/dev/sda。
確保您將引導程式寫入正確的設備或者安裝裝船機前取出 MicroSD 卡或者嘗試使用 ISO 映像透過 ILO 進行安裝。
看: