Make new ssd the boot drive

I finally gathered the hardware I needed to add an ssd to my desktop. My granddaughter broke her laptop and I took it to a big box computer store to salvage the ssd for my own use. I didn’t have the right screwdriver to open the case and they wanted $40 to unscrew the 8 screws to get the back off. This is more than the price of 256GB ssd. So, I took it home and drilled out the screws. While at the store, I bought a PCIe adapter card with a heat sink.

My neighbor gave me a Dell Inspiron 3668 with Windows 10. I have installed the salvaged ssd and Windows sees it as drive E: but prevents me from accessing any documents. This is ok, I intend to format the ssd. I have several goals:

1: Install Tumbleweed on the ssd (wiping all current data)
2: Make this a dual boot machine with the current Windows 10 installation
3: Repartition the existing 1TB hard drive, which has over 800GB available, to make storage space available to Tumbleweed

I have tried to do this previously and did not get an optimal setup. I work under the assumption that only the OS should be on the ssd. Documents and downloads should go on the slower, more spacious, hdd. Do programs/apps go on the ssd or hd? What is optimal?

Miscellaneous details:
While investigating the ssd in Windows, I saw the word UEFI. This makes a difference in booting and install, correct?
This “new” ssd is a Samsung MZVLV512 NVMe with 512GB capacity installed in a PCIe slot meant for a video card.
I have a Tumbleweed install DVD that I downloaded about a week ago.
I am posting this from the new machine. So, the Windows install booted and works as normal.
If any further info is needed, I will be happy to supply it.

I realize that some of the answers are exact and others are opinions. I welcome all input.

Boot from a Tumbleweed Rescue USB to pre-configure the drive if no data on it is needed. If you need data off it, then should be able to mount the windows partition to recover data. When in rescue mode, show the output of;


Word of caution with the nvme device, see this thread (although btrfs centric, is actually hardware related).:

Use the whole device for everything… OS (~40GB) and a separate partition for $HOME.

I would do a fresh 20H2 WinX install… says the 3668 features an M.2 slot. M.2s usually support NVME devices directly, so you could probably put that NVME in it to free that PCIe slot back up, if the 3668 is the same PC you are “building”. If it isn’t, it would be a good idea to show us output from inxi -b along with efibootmgr and lsblk.

UEFI is a massive improvement over legacy booting. Once understood, it’s much easier to manage and avoid any multiboot issues. Do understand that most Windows installations come with an ESP partition of 100M, while the openSUSE installer has traditionally complained when attempting to share an ESP that size. You can safely ignore that warning should you encounter it in choosing to use it for openSUSE. While the openSUSE installer may suggest much larger is necessary, it absolutely is not, unless you are using a HDD larger than 16T for the ESP, or plan to put a lot of files on it that a normal installation would never put there.

What to put on NVME and what on HDD is somewhat like choosing between Toyota and Nissan, or Coke and Pepsi. There’s not really a right answer to what to put where, beyond having the OS and software on the faster device. If your NVME is amply sized for your needs, I suggest to use the HDD only for extra copies of important personal data, or large files like videos or a photo or music collection, where loading speed is usually of little concern, while maximum safety is a priority.

I’ve had 3 SSDs go bad out of around 17 total acquired in less than two years. I don’t keep any videos on any SSD, other than a few extra copies, mostly for testing. On my 24/7 box, most of my user data is on a HDD RAID with EXT4, while my OSes are on a GPT partitioned 128GB SSD that’s a home to 5 openSUSE releases, each on EXT4.

On my 4 PCs using UEFI, all have a single 320M ESP partition on SSD. I always do all partitioning prior to beginning any OS installation, “pre-configuring”, as malcolmlewis suggests. That means I rarely find need to re-partition in order to free up space for something new. I plan ahead for lots of something news. Except for two PCs with both HDD RAID and SSD, all booting here is done from an SSD, if the PC has an SSD.

On the few PCs I have sharing space with Windows, all OSes are on a single HDD, with each Windows installation begun only after the HD was well tested and running using at least one openSUSE installation. There’s no need to install Windows first. After all, Windows traditionally needs frequent re-installation, something that cannot be done after Linux has been added, unless re-installing it too.

M.2 defines mechanical characteristics and possible interfaces. It is entirely up to manufacturer what interfaces are actually provided and even if interface is provided it does not mean BIOS allows it to be used for your purposes.

If indeed OP’s target is a 3668, it’s probably a Kaby Lake, less likely a Skylake, and very unlikely to not support booting from NVME in in a motherboard M.2 socket.

@mrmazda, OP indicated they fitted the NVME device and it booted to windows, so system to me indicated NVME support?

My system doesn’t… I have a PCIe card with NVME and SSD support (cable to SATA socket on M/B) that’s why interested in lsblk…

I took pictures of the motherboard to show a tech and after reading these posts, looked at them to confirm. There is indeed a spot labeled M.2 but it is M.2_WIFI. I have seen posts that say the M.2 slots are sometimes hidden under other things like fans etc. Even if I didn’t want to keep the wifi, or wanted to hunt under other things on the motherboard, there is no possible hiding place that isn’t blocked by surrounding items that would keep the ssd from fitting. So, the PCIe adapter card is my best option.

I ran the Tumbleweed Rescue from DVD, not usb. I ran the commands recommended by malcolmlewis. I had no way to do a screen copy, so I’ll do my best to type what resulted. Remember, the ssd has a full, working, Windows system on it.

for lsblk:
sda 917.1G
   sda1   500M
   sda2   128M
   sda3   917.1G
   sda4   860M
   sda5   11.9G
   sda6   1.1G
nvme0n1   476.9G
    nvme0n1p1   260M
    nvme0n1p2   16M
    nvme0n1p3   475.7G
    nvme0n1p4   1000M 

I obviously made a copy error on sda vs. sda3, but I don’t think it matters too much. For the other command:

BootCurrent: 0001
Timeout: 0 seconds
BootOrder: 0000,0001
Boot0000* Windows boot mgr
Boot0001* UEFI: PLDS DVD+/- RW DU -8A5LH

I want to shrink sda3 to make room for some use by Tumbleweed. I don’t know where this happens in the install process. I also don’t know what file type to pick for either the new sda partition (FAT? etc) or the nvme (BTRFS? EXT3? EXT4?) Am I right that Tumbleweed can read NTFS? So, I could leave the sda alone and just put data on it? I don’t like that idea.

Anyway, what do I do next?

Any time you are using a text only screen, you can capture the desired portion of screen output by running the command again and redirecting that command’s output to a file. That file can be copied to a USB stick, floppy disk, or a filesystem on an external HDD or SSD, from which you can use another PC to copy and paste here, or upload to or other location. Redirection is a standard shell process, e.g.:

sudo parted -l > anyoldfilename.txt

I’d rather see output from parted -l than lsblk in this case.

I took a shortcut and made a photo of the parted output. I see the mistake in the size of sda. It was 931.5G not 917.1G, which is the size of sda3. Pardon my ignorance, but can /dev/nvme0n1 ever be a boot device? I am familiar with only sda, sdb etc.

Here is the picture of parted output:

I suspect windows may have booted from sda, not the nvme device…

What does the following show;

efibootmgr -v

Now really … plug in USB stick and copy text files there. Relevant parts of pictures cannot be quoted in replies.

Yes it can if your BIOS supports it.

Trying to cover my embarrassment… I didn’t have USB stick I could use:shame:

Haven’t looked at a BIOS in quite a long time. How do I check this?

Grab the service manual… press power button, then keep tapping the F2 key should get into setup…

I suspect, since the NVME device is on a PCIe card, like my setup I have a separate /boot/efi and /boot on sda…

parted -l

Model: ATA WDC WDS250G2B0B- (scsi)
Disk /dev/sda: 250GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start   End     Size    File system     Name              Flags
 1      1049kB  274MB   273MB   fat16           EFI System        boot, esp
 2      274MB   1079MB  805MB   btrfs           Linux filesystem
 3      1079MB  248GB   247GB   xfs             Linux filesystem
 4      248GB   250GB   2020MB  linux-swap(v1)  Linux swap        swap

Model: WDC WDS250G1B0C-00S6U0 (nvme)
Disk /dev/nvme0n1: 250GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start   End     Size    File system  Name  Flags
 1      1049kB  43.0GB  42.9GB  btrfs
 2      43.0GB  250GB   207GB   xfs

Instead of fumbling through the BIOS, power down, remove power from HDD, then try booting. Windows won’t like the new environment, so probably won’t boot to completion, but simply starting to boot is all the answer you need.

Even if the answer is no, you can use the ESP on the HDD to boot any NVME installation. Only one ESP is needed per PC.

Before I came looking for help, I thought I might disconnect the HDD, so I could do an install without making the error of installing there instead of on the ssd. Then, I would try to figure out how to modify the grub menu to give me a dual boot.

So, I followed your suggestion. I disconnected the HDD and booted. I made a lucky error. I forgot to take the Tumbleweed Install DVD out of the drive. The pc booted to that DVD. It did not detect the ssd. Knowing I could abort the install before any changes were made to the ssd, I continued with the install. Things proceeded normally. It came to the partitioning step, and here was the output:

Initial layout proposed with the default Guided Setup settings.

Changes to partitioning:

• Shrink ntfs on /dev/nvme0n1p3 from 475.69 GiB to 438.69 GiB 
  Shrink partition /dev/nvme0n1p3 from 475.69 GiB to 438.69 GiB
• Create partition /dev/nvme0n1p5 (35.00 GiB) for / with btrfs
• Mount partition /dev/nvme0lp1 (260.00 MIB) at /boot/efi 
• Create partition /dev/nvme0n1p6 (2.00 GB) for swap
•9 subvolume actions (hide details) 
   • Create subvolume @ on /dev/nvme0n1p5 (35.00 GiB)
   • Create subvolume @/var on /dev/nvme0n1p5 (35.00 GiB)
   • Create subvolume @/usr/local on /dev/nvme0n1p5 (35.00 
   • Create subvolume @/srv on /dev/nvme0n1p5 (35.00 GiB)
   • Create subvolume @/root on /dev/nvme0n1p5 (35.00 GiB) 
   • Create subvolume @/opt on /dev/nvme0n1p5 (35.00 GiB)
   • Create subvolume @/home on /dev/nvme0n1p5 (35.00 GiB)
   • Create subvolume @/boot/grub2/x86_64-efi on /dev/nvme0n1p5 (35.00 GiB)
   • Create subvolume @/boot/grub2/i386-pc on /dev/nvme0n1p5 (35.00 GiB)

It found the ssd and saw that it had a Windows system on it. (To avoid confusion: I don’t care about the Windows install on this ssd. The ssd will be Tumblweeed only with Windows on the HDD.) At this point, I aborted the install and powered down. When I restarted, I went into the BIOS settings. There were two drives showing: the HDD and the DVD. I saw no reference to ssd or nmve anywhere in the BIOS settings. I looked for a way to add it but found none. The 4 sata ports were shown but no option to add anything.

I apologize. Your reference to ESP is beyond my scope, so I don’t know what to do with that information. Having seen this, do you still think it is possible to use the ssd in the PCIe slot? Or, should I get other connectors and try to install it as a sata device?

“It” what didn’t detect? What exactly transpired to bring you to this conclusion?

Your reference to ESP is beyond my scope, so I don’t know what to do with that information.
EFI System Partition](

Having seen this, do you still think it is possible to use the ssd in the PCIe slot? Or, should I get other connectors and try to install it as a sata device?
I suggest you try harder. Bring up the BBS menu, without a bootable CD or DVD in the drive, and see if appears as a boot selection. If it doesn’t, spend a little more time in BIOS setup to see if it can be made to show up. Reading the owner’s manual might help.

It’s still not clear to me if the Inspiron 3668 is a PC you are using parts from, or the PC you’re trying to create multiboot on. If not the Inspiron, what brand and model is the motherboard?

If you “can’t boot” from the NVME because it isn’t supported in a PCIe slot, you can still boot from it indirectly. The HD’s ESP partition can be the /boot/efi/ partition for your installation on NVME. You’ll almost certainly need to use the expert partitioner to make that specification. The implication from the suggested partitioning on your dry run seems to be that the NVME would be bootable directly.

Also, I’d recommend abandoning BTRFS if you are going to use a 35G / partition. Either make sure to use a lot more (I don’t recall the official recommended minimum), or use EXT4 instead. It takes substantial vigilance to avoid filling up a BTRFS partition that small.

Shrinking the NTFS more than 37GB would be desirable, and should be possible, if you boot Windows to do it to itself before attempting openSUSE installation.

Installer has absolutely no way to even guess it so suggested partitioning does not imply anything beyond default logic - put the whole installed system on one disk.

Trying to weave together all these threads, I did a test install.

First, I went to the Dell Website and updated all files including the BIOS. Then, I researched how to make an nvme ssd a boot device. Much of the instruction was unusable, as the BIOS did not present the options described on the Dell website. In spite of that, I saw that most of the suggestions were already implemented. The key issue was to be sure it was set to use UEFI. The principal idea I took away from the 3 methods to make the ssd a boot device was to boot to the install media and select the ssd as the destination.

Before I attempted that, I used the Windows Partitioner to shrink the data/system partition of the hdd. That gave me 292.97GB of unallocated space, which I intend to use for linux files.

As suggested, I booted to the Tumbleweed Install Disk. It proceeded normally and came to Suggested Partitioning, where it selected the nvme Windows partition without me suggesting it. It suggested shrinking the primary windows partition by only 37 GB. I intend to use the whole disk, overwriting Windows in the process. Instead of taking the suggested setup, I open Expert Partitioner. There I see:

nvme0p1p1 -a 260MB EFI System Partition, which I assume I’m not to touch, and also

nvme0p1p3 -a 438.69GB NTFS partition

All partitions and subvolumes are suggested to be BTRFS. The Expert Partitioner showed the hdd but did not show the unallocated space. It showed sda as 0.91TiB and sda3 as 0.61TiB with all other partitions totaling about 15GB. So, it appears the 300GB unallocated space is accounted for.

So, how to proceed? Do I first format the unallocated space so the Tumbleweed installer will make it available to me? If so, what file format? My main premise was to maximize speed. What do I put on the hdd in the as yet unallocated space?

How do I get the Tumbleweed installer to take the whole of the nvme ssd, overwriting Windows? Do I format that drive before attempting install? Can Tumbleweed installer shrink the NTFS main partition way down to make room for Tumbleweed without formatting the disk? My preference is not to do that but to get rid of Windows.

I feel like I’m in the home stretch! I look forward to suggestions.