[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[plamo:32690] Re: Lenovo X1 Carbon(Gen6)



こじま@NVMe? なにそれ、おいしいの?、、です(苦笑

From: KATOH Yasufumi <karma@xxxxxxxxxxxxxxxx>
Subject: [plamo:32689] Re: Lenovo X1 Carbon(Gen6)
Date: Sat, 03 Nov 2018 13:53:34 +0900

> ROOT_DISK=`echo $ROOT_DEVICE | sed "s/[0-9]//g"`
> gpt_test=`LANG=C ; fdisk -l $ROOT_DISK | grep Disklabel | grep gpt`
> 
> if [ "$gpt_test.x" != ".x" ]; then   # GPT partition
>     (EFI処理)
> else    
>     (MBR処理)
> fi    
> 
> こんな感じでです。ここは $ROOT_DEVICE に /dev/sda1 とかいう値が入って
> ることを期待して 1 を除去するために sed を実行してるんだと思いますが、
> イマドキの NVMe だと、ここは /dev/nvme0n1p5 みたいになっています。なの
> で、前述の sed すると /dev/nvmenp となって、そもそも存在しないデバイス
> になります。で、gpt_test には文字列は入らず、結果として MBR に処理が行
> くというわけです。

NVMe なデバイスだと、fdisk -l したらどんな値が返るの?

# e0n1p5 って、最初の PCIe(e0) に接続された 1つめのデバイス(n1) の
# 5つめのパーティション(p5) みたいな感じかな?

> ここで末尾の数字を取り除いてデバイス名を取得するのが良いのかどうかわか
> りませんが、
>   sed -e "s/[0-9]*$//g"
> こんな感じ?(他に GPT or not を確認する手段はないのかな?)

gpt_test=`LANG=C ; fdisk -l $ROOT_DISK | grep Disklabel | grep gpt`

この処理は、HDD全体を fdisk -l 見て、Disklabelが gpt か dos かを見てるんだけど、
NVMe の場合、/dev/nmve0n1 くらいで全体になるのだろうか?

あー、でもインストーラのあちこちで、/dev/sdXX を前提としているコードがあるから、
直さないといけないところは他にもありそう。。

--------
こじま





Follow-Ups
[plamo:32691] Re: Lenovo X1 Carbon(Gen6), Takehiko Ogata
[plamo:32692] Re: Lenovo X1 Carbon(Gen6), KATOH Yasufumi
References
[plamo:32688] Lenovo X1 Carbon(Gen6), KATOH Yasufumi
[plamo:32689] Re: Lenovo X1 Carbon(Gen6), KATOH Yasufumi

[検索ページ] [メール一覧]
Plamo ML 公開システム